私は3つのフレームを持つサイトで作業しています。フレームセットのtopFrame、mainFrame、bottomFrameという名前のトップフレーム、メインフレーム、ボトムフレーム。珍しいことはありません。window.openerを使用して子ウィンドウから関数を呼び出すのはIEでは機能しますがFirefoxでは機能しません
私はmainFrameで作業していますが、refresh_status()という関数が含まれているview.htmlというページがあります。
それは次のようになります。
またfunction refresh_status() {
alert ("inside of refresh status function");
// do stuff
}
、このページ(view.html)から、私は単純に(リンクから)このような新しい子ウィンドウのオープンポップ:
リンクルックスをこのような....新しいウィンドウで開くをポップ
<a href="javascript:popUpstatus('status.html')">Update</a>
機能....
function popUpstatus(URL) {
status = window.open(URL, 'status','toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=1,width=670,height=600');
}
status.htmlファイルは、通常、新しい子ウィンドウで開きます。子ウィンドウでは、親ウィンドウ(view.html)でrefresh_status()関数を起動しようとしているリンクがあります。子供で
(status.html)をポップアップし、これはリンクです....
<a name="select_anchor" href="#">Refresh</a>
status.html内のJavaScriptは、次のようになります....
<script type="text/javascript">
function new_status() {
window.opener.refresh_status();
}
$(document).ready(function() {
$("a[name='select_anchor']").click(new_status());
});
</script>
IE8は親ウインドウでrefresh_status()関数を起動し、予期したように警告をトリガーしますが、Firefoxは文句を言って、window.opener.refresh_status()は関数ではないと言います。何か案は?
デモを提供することは可能ですか、私はそれをテストしたし、FFでも私のためにうまく動作します。 –