1

私が使用した:

var win = window.open('http://www.google.co.uk','foo');

新しいウィンドウを開くには、元のウィンドウに戻って、新しいウィンドウを開いたまま使用します。

win.focus();

IE9がそれを無視して現在のウィンドウにとどまる場合でも、ブラウザがfooウィンドウに戻ることを期待していました。ChromeとIE6で動作しますこれはセキュリティリスクとして無効になっている可能性があると思います。セキュリティ設定またはレジストリ設定を介してIE9でwindow.focusを有効にする方法はありますか?

これは私の完全なコードです:

<a onclick="OpenWindow();">Click here to open a window</a><br />
<a onclick="SelectWindow();">click here to switch to window</a>

<script language="javascript" type="text/javascript">

var win;

function OpenWindow() {
    win = window.open("http://www.google.co.uk", "foo");
}

function SelectWindow() {
    win.focus();
}

</script>
4

2 に答える 2

1

これは、InternetExplorer9の既知バグです。詳細については、記事「WebページがWindows InternetExplorer9でフォーカスを取得できない場合があります」を確認してください。

レジストリの修正

HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\
Type: REG_DWORD
Name: HangRecovery
Value: 0
于 2012-10-11T09:53:49.033 に答える
0

2003年以降、すべてのブラウザで次のバリエーションが機能しています。

function popupHelp(helpUrl) {
    helpWin = window.open(helpUrl, "help",
            "height=500,width=500,scrollbars,resizable,toolbar,status,menubar");
    if (helpWin != null) {
        setTimeout("helpWin.focus()",100);
    }
}

...

<a href="javascript:popupHelp('help.jsp')">Help</a>

2013-08-27の時点で、IE 8、9、および10がウィンドウにもう一度フォーカスを与えるように強制/許可するのはwindow.open()呼び出しの機能リストのようです。IEをタブではなくウィンドウで開くように強制するため、ウィンドウと言います(Chromeはタブを使用し、FirefoxはIEのように機能します)。この点で、すべてのブラウザがChromeのように機能することを望みます。それらはすべて、target = "_ blank"で新しいウィンドウを開いて、開いているウィンドウでユーザーのデスクトップを乱雑にしているように見えますが、既存のウィンドウを再利用することは、彼らがしたくないことです。

于 2013-08-26T23:34:12.257 に答える