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.

InformationsquelleAutor maxschr | 2014-08-18

Schreibe einen Kommentar