0

以下の JavaScript 関数を使用して、ユーザーがリンクをクリックしたときに新しいウィンドウを開きます。

function popWinSimple(url,features) {
    win = window.open(url,'',features);
    win.focus();
}

この関数は、Firefox ではフォアグラウンドでウィンドウを開きますが、Safari と Chrome では同じことを行いません。

この行動の違いの原因は何でしょうか?

4

3 に答える 3

1

私が知っているように、これはすべてのブラウザーのユーザー設定によって処理されるため、この動作を変更することはできません。

于 2012-08-14T16:13:15.253 に答える
1

OSX Lion で Safari と Chrome をほぼ標準の構成で使用して、次のページを読み込んでいます。私が観察している動作は、ケース 1 と 2 ではタブが前面に読み込まれ、ケース 3 では前面に点滅し、呼び出し元のタブにフォーカスが戻るというものです。この場合、javascript の focus() および blur() 呼び出しよりも強力で信頼性の高い方法はないと思います。

<html>
    <body>
        <a href="." onclick="javascript:var w = window.open('foo.html'); return false;">click normal</a>
        <br />
        <a href="." onclick="javascript:var w = window.open('foo.html'); w.focus(); return false;">click and focus</a>
        <br />
        <a href="." onclick="javascript:var w = window.open('foo.html'); w.blur(); window.focus(); return false;">click and unfocus</a>
    </body>
</html>
于 2012-08-14T16:28:57.597 に答える