2012-01-25 9 views
6

、私はいくつかのオプションを選択すると開いている情報をポップアップがあります。は私のアプリケーションでは前面にポップアップを表示する

初めてのこと、すべての前にポップアップhightlight。

しかし、彼がフォーカスを失ったときに、ユーザーが別のウィンドウに移動したときに、同じオプションでユーザーが再びクリックすると、ポップアップショーがすべての前に表示されます。

私が何かしてみてください:

<body onLoad="this.focus()"> 
    window.focus(); 
    document.focus(); 
    this.focus(); 

をしかし、ドスは私のために動作しません。

私は行方不明ですか?

答えて

14

開いているポップアップウィンドウへの参照を保持し、フォーカスメソッドを呼び出す必要があります。

var win = window.open(url, name, args); 
win.focus(); 

あなたはそれが閉じていない場合、それは同じポップアップを使用する同じ名前のポップアップを開いたときに、名前と次の時間を与える場合は、ポップアップを開いている間。あなたはただそれに焦点を当てる必要があります。

あなたは私が今テストしてるのポップアップ

function windowOpener(url, name, args) { 

    if(typeof(popupWin) != "object" || popupWin.closed) { 
     popupWin = window.open(url, name, args); 
    } 
    else{ 
     popupWin.location.href = url; 
    } 

    popupWin.focus(); 
} 
+1

を処理するために、この単純な関数を使用しての良いソリューションをのように見えることができ、クロームとIEで正常に動作しますが、FFに奇妙な行動しています。あなたに説明する方法は分かりませんが、(windowOpener'を使って)ポップアップを開いて別のクリックソースから別のものを開くと、 'windowOpener'を持つポップアップをクリックすると、これはFFでのみ起こります。 –

関連する問題