3

window.focus()私は運がない機能を働かせようとしています。

このフィドルを見てください

var myWindow = window.open('','zzz','width=600,height=700');
    myWindow.document.write('test');
    myWindow.focus();​

jsfiddle ページの読み込み後に [実行] をクリックすると、新しいウィンドウにフォーカスが戻るはずです。私は何を間違っていますか?

4

3 に答える 3

1

FF 15で「機能」します。ユーザーは、スクリプトがウィンドウを開いてフォーカスする機能を無効にし、設定を確認できます。ああ、ポップアップはデフォルトでフォーカスされるはずなので、 を呼び出す必要はありませんmyWindow.focus()

おそらく問題とは何の関係もないが、修正したいかもしれないいくつかのマイナーなポイント:

  1. 有効なドキュメントを新しいウィンドウに書き込む必要があります。タイトル要素と 1 つのブロック要素が必要です。たとえばdocument.write('<title></title><div></div>、DOCTYPE も強くお勧めします。
  2. 書き込みが終了したら、入力ストリームを閉じる必要があります。document.close()
于 2012-09-10T00:58:20.243 に答える
0

これは私のために働く:

<script> 
var popupWin;
function open_popup(url) {
    if(typeof(popupWin) == "object" ) popupWin.close();

    popupWin =  window.open(url, 'PopupName', 'scrollbars=no,resizable=yes, width=600,height=800,status=no,location=no,toolbar=no'); 
    popupWin.focus();

 }
</script>
于 2014-04-04T11:03:13.057 に答える
0

少なくともChromeの場合(FFはありません)、単に置き換えてください

myWindow.focus();

myWindow.blur();
setTimeout(myWindow.focus, 0);

編集: Linux VM に FF があることに気付きました。コードは現在の Chrome と最新の Mint x64 の下の FF12 で問題ありません

于 2012-09-10T01:00:31.087 に答える