2012-01-25 12 views
2

私は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()は関数ではないと言います。何か案は?

+0

デモを提供することは可能ですか、私はそれをテストしたし、FFでも私のためにうまく動作します。 –

答えて

0

あなたはこの

$("a[name='select_anchor']").click(new_status()); 

を書きしているときは、イベントとして関数の結果を設定されているので、あなただけのかっこ

$("a[name='select_anchor']").click(new_status); 

を削除する必要がリンクイベントにクリックするだけでNEW_STATUSを呼び出したい場合ハンドヘルド

関連する問題