1

p1.jsp という親 jsp があります。この jsp のリンクをクリックすると、iframe.jsp という iframe が開きます。現在、iframe.jsp にリンクがあり、クリックすると、iframe モーダル ウィンドウを閉じた後にユーザーを別の URL に移動する必要がありますが、その URL は親セッションで開く必要があります。これは、parent.jsp が new.jsp の内容に置き換えられることを意味します。

私はこのようなコードを釣り上げました:

<script type="text/javascript">
function closeMyModal()
{
//Closing Iframe modal 
window.parent.parent.document.getElementById('ovr1').style.display = 'none';
window.parent.parent.document.getElementById('cnt1').style.display = 'none';
<%
String hamlistVal = request.getParameter("hamlistVal");
%>
//Open the new.jsp on the p1.jsp i.e. relace p1.jsp with new.jsp
window.location.href="<%=com.pack.href.getCamHref()%>&hamlistVal=<%=hamlistVal%>";

}
</script>   

私の iframe モーダルは閉じられていますが、 new.jsp に移動していません。ここで何が間違っていますか?親切に助けてください。

4

3 に答える 3

1

わかりました、これに対する解決策を得ました。

iframe.jsp の href 内に完全な URL を次のように指定する必要がありました。

<a href = "<%=com.pack.href.getCamHref()%>&hamlistVal=<%=hamlistVal%>"/>

次に、次のように属性ターゲットを「_parent」として設定する必要がありました。

<a href = "<%=com.pack.href.getCamHref()%>&hamlistVal=<%=hamlistVal%>" target="_parent"/>

これにより、iframe が非表示になり、p1.jsp で new.jsp が開きます。

これが他の人に役立つことを願っています。

このスレッドを参照したときにこれを取得しました:Stack Thread

于 2013-01-04T13:03:53.597 に答える
1

セキュリティ上の理由から、iFrame は親フレームへのアクセスを許可されません。ナビゲーション機能は使用できません。私が間違っていなければ、iFrame は親ウィンドウの場所を読み取ることができますが、これを設定することはできません。

この JavaScript 関数は iFrame または親ウィンドウにありますか?

于 2013-01-04T12:54:12.163 に答える
0

これを達成する別の方法もあります。複数のソースから特定のページにリダイレクトする場合、私のソリューションはより優れています。

私の場合、このページ (私のログイン ページ) が iframe で開かないようにしたいだけです。定義済みの URL からこれを行う場合は、さらに条件を追加することもできます。

<script>
    if(window.self !== window.top)
        window.top.location.href = "<%=request.getContextPath()%>";
</script>
于 2019-12-08T08:43:11.897 に答える