Fenster.opener funktioniert nicht in firefox und chrome, aber im IE
Ich habe ein problem mit dem Fenster.opener-Funktion (JS):
Erstellte ich 3 einfache Seiten zu simulieren, mein problem:
test.php:
<html>
<head>
</head>
<body>
<input type="button" onclick="window.open('first_page_in_popup.php', 'Popup', 'width=470,height=500');">
<input type="text" id="content" name="content" >
</body>
</html>
first_page_in_popup.php:
<html>
<head>
<script type="text/javascript" >
window.opener.document.getElementById('content').value= "Test from first page in popup";
window.open('second_page_in_popup.php', 'Popup');
</script>
</head>
<body>
</body>
</html>
second_page_in_popup.php:
<html>
<head>
<script type="text/javascript" >
window.opener.document.getElementById('content').value= "Test from second page in popup";
</script>
</head>
<body>
</body>
</html>
Ergebnis:
In IE, das input Feld hat den Inhalt "Test von der zweiten Seite in dem popup".
In Chrome und Firefox, der Inhalt ist : "Test von der ersten Seite in dem popup".
Die Fehlermeldung:
window.opener.document.getElementById(...) is null
Dies könnte eine Einschränkung der Sicherheit. Ich erfuhr, dass Chrome verweigerte den popup get/set Werte der opener. Haben Sie versuchen, eine Funktion in der Haupt-Fenster, rufen Sie aus dem popup?
funktioniert Super hier in Firefox, ich kann das von meinem popup und ersetzen Sie den Inhalt: Fenster.opener.Dokument.getElementById('maincontent').innerHTML = "test"; Könnte Sie erstellen Sie eine Geige neu zu erstellen Sie Ihr Problem?
wenn ich umbenennen, das zweite popup, "Popup2", und ändern Sie den code aus dem secondpage: Fenster.opener.opener.Dokument.getElementById('content').value= "Test von der zweiten Seite in dem popup"; es funktioniert. Aber jetzt muss ich popups öffnen ... und ich will nur ein Fenster.
funktioniert Super hier in Firefox, ich kann das von meinem popup und ersetzen Sie den Inhalt: Fenster.opener.Dokument.getElementById('maincontent').innerHTML = "test"; Könnte Sie erstellen Sie eine Geige neu zu erstellen Sie Ihr Problem?
wenn ich umbenennen, das zweite popup, "Popup2", und ändern Sie den code aus dem secondpage: Fenster.opener.opener.Dokument.getElementById('content').value= "Test von der zweiten Seite in dem popup"; es funktioniert. Aber jetzt muss ich popups öffnen ... und ich will nur ein Fenster.
InformationsquelleAutor maxschr | 2014-08-18
Du musst angemeldet sein, um einen Kommentar abzugeben.
Habe ich das problem gelöst, indem Sie ändern den code der Seite "first_page_in_popup.php":
InformationsquelleAutor maxschr
versuchen
parent.window.opener
stattwindow.opener
Quelle: Fenster.opener ist null, im firefox
InformationsquelleAutor Syed Ali Taqi
das bedeutet, dass Inhalte im Fenster.opener.Dokument.getElementById ist null oder undefiniert
bitte versuchen Sie, zu bestimmen
hoffe, dass dies funktionieren wird.
InformationsquelleAutor RahulKT