0

私はjavascriptメソッドwindow.openを使用して、私のサービスの他のウィンドウへの参照を取得しています。

主なアイデアは、window.open(''、name)を使用し、指定された名前のwindowが存在する場合、その参照を取得することです(同じドメインからのものである場合は、それと通信できます)。そうでない場合、新しいウィンドウのURLは「about:blank」になります。それで、それがabout:blankの場合、私はそれを閉じます。

これはOperaを除くすべてのブラウザで機能します...すべてのブラウザで最初の引数として空の文字列を指定してwindow.openを呼び出すと、この名前のウィンドウが存在する場合、それ以上の参照は得られません。ただし、Operaではありません。このウィンドウのURLはabout:blankに変更されます。

Operaでこれを回避する方法はありますか?

4

2 に答える 2

0

これが古い質問であることは知っていますが、まだ Presto Opera ユーザーがいます。これに対する解決策 (ハックのようなもの) を次に示します (はい、ブラウザのスニッフィングが必要です)。

var popup = window.open("file:///D:/nonexistent_file", name);

about:blankこのようにして、新しいウィンドウでウィンドウ参照と重要でないセキュリティ例外を取得します ( URL を含む新しいウィンドウが開かれた場合)。

于 2016-03-11T11:30:30.640 に答える
0

私は提案していwindow.focus('name');ます:)?

于 2012-09-28T15:59:09.490 に答える