Ich habe ein Popup-Fenster, das durch einen Klick auf die Schaltfläche geöffnet wird. Wenn der Benutzer nach einem bestimmten Element in dem unterordneten Fenster sucht, versuche ich, den übergeordneten Windows-Speicherort zu wechseln, indem ich window.opener.location in dem unterordneten Fenster verwende. Das Elternfenster bleibt immer auf derselben Website. Dies funktioniert gut in FireFox 3.07 & 3.1 b3 und IE 7 & 8. Aber in Chrome 2.0b (dev-Zweig) und Safari 4 Beta (für Windows) erhalte ich diese seltsamen Fehler:Fehler in Safari 4 Beta und Chrome 2
Unsafe JavaScript attempt to initiate a navigation change for frame with URL
Hier ist die seltsame Sache, in Safari es nie funktioniert, aber in Chrome funktioniert es, wenn:
*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)
edit: in Opera nur beide funktioniert, wenn die Eltern-Kind-Fenster sind HTTPS ...
das ist eine gute Idee. Lass mich ein bisschen fummeln und schauen, ob ich etwas kriegen kann, das funktionieren wird. –
aus der Dokumentation in window.open() der Rückgabewert ist ein Handle für das Fenster selbst. Es wäre wahrscheinlich einfacher, eine Funktion auf dem Öffner aufzurufen, der die Umleitung ausführt. z.B. window.opener.funcName ('spezieller Wert'); und das Öffnerfenster würde nach Bedarf umleiten. – scunliffe
Eine andere Einschränkung, in die ich renne, ist Cross Site Scripting ... Wenn das untergeordnete Fenster HTTPS ist und das übergeordnete HTTP ist, geben Sie mir einen Fehler, und wenn ich versuche, window.open() blockiert es als Popup . –