ボタンをクリックすると開くポップアップウィンドウが表示されます。ユーザーが子ウィンドウ内の特定のアイテムを検索すると、子ウィンドウ内のwindow.opener.locationを使用して親ウィンドウの場所を切り替えようとします。親ウィンドウは常に同じWebサイト内にとどまります。これは、Firefox 3.07 & 3.1 B3、およびIE 7 & 8で正常に動作します。しかしクローム2.0B(DEV支店)と(Windows用)のSafari 4のベータ版では、私はこの奇妙なエラーが発生します。ここではSafari 4 BetaとChrome 2でエラーが発生しました
Unsafe JavaScript attempt to initiate a navigation change for frame with URL
は奇妙です事、Safariでそれが動作することはありませんが、Chromeでそれがあれば動作します:
*Child window is same protocol(HTTP/HTTPS) as the text i am using setting window.opener.location
*Parent window and child window are the same protocol(HTTP/HTTPS)
は、編集:親と子ウィンドウの両方がHTTPSである場合にオペラではそれが唯一の作品...
これは良い考えです。私はいくつかの手品をして、私が働く何かを得ることができるかどうかを見てみましょう。 –
window.open()のドキュメントからの戻り値は、ウィンドウ自体のハンドルです。リダイレクトを行うオープナーで関数を呼び出すほうが簡単でしょう。例えばwindow.opener.funcName( '特別な値');オープナーウィンドウは必要に応じてリダイレクトされます。 – scunliffe
もう1つの制限私はクロスサイトスクリプティングです...子ウィンドウがHTTPSで、親がhttpである場合、Safariは私にエラーを返し、window.open()にしようとするとポップアップとしてブロックします。 –