2

以下の HTML ページを実行すると、2 つのポップアップ ウィンドウが開きます。以前のバージョンの IE には当てはまりません。すでに開いている同じウィンドウ名で window.open 呼び出しが行われた場合、開いているウィンドウへの参照を返す必要があります。しかし、IE11では別の新しいウィンドウが開いています。

<html>
<head>
<script type="text/javascript">
window.open("http://www.google.com", "test", "resizable=no,scrollbars=yes,width=260,height=225");
window.open("http://www.google.com", "test", "resizable=no,scrollbars=yes,width=260,height=225");
</script>
</head>
</html>

URL について言及していない場合、この動作は発生していません。(以下のhtmlページを参照)。以下の HTML ページは、ポップアップ ウィンドウを 1 つだけ起動しています。

<html>
<head>
<script type="text/javascript">
window.open("", "test", "resizable=no,scrollbars=yes,width=260,height=225");
window.open("", "test", "resizable=no,scrollbars=yes,width=260,height=225");
</script>
</head>
</html>

URL を提供するか、URL ウィンドウに移動すると、その名前が失われます。window.name を使用してポップアップ ウィンドウ名を取得しようとすると、空の文字列が返されます。

Windows 8.1 および IE 11 でのみ発生し、Windows 7 および IE11 では発生しません。IE11 でこれを機能させるために必要な微調整はありますか?

更新: IE のバグのようです。IE チームが調査中です。 https://connect.microsoft.com/IE/feedback/details/797964/ie11-win-8-1-window-open-with-the-same-name-is-opening-new-popup-window#details

更新 2: Internet Explorer が昇格モードで実行されている場合にのみ発生します。

4

1 に答える 1

2

これを試してください..これは、ウィンドウがまだ開いているか閉じているかを確認します..

<script type="text/javascript">
 var myWindow = null;

 if(!myWindow || (myWindow && myWindow.closed)){
 myWindow = window.open("http://www.google.com", "test", "resizable=no,scrollbars=yes,width=260,height=225");
          }
         else{
       myWindow.location.href = 'http://www.google.com';
       }

</script>
于 2014-07-11T07:25:34.437 に答える