fenster.öffner | funktioniert nicht in Chrom

Lesezeit: 3 Minuten

fensteroffner funktioniert nicht in Chrom
schau

Ich habe zwei HTML-Seiten. Ich rufe das übergeordnete Fenster vom Kind auf. Alles funktioniert hervorragend.

test1.html :-

<html>
<head>
<title>Compose</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<SCRIPT>
function test(){
//alert('');
var win = window.open('../login/test2.html',"","height=700,width=800");
}
function test1(){
alert('test1');
}
</SCRIPT>
</head>
<body>

<input type="button" value="click" onclick="test();" />             
</body>
</html>

test2.html :-

<html>
<head>
<title></title>
<SCRIPT>
function opener1(){
try{
    if(window.opener != null && !window.opener.closed)
    {

    }
    window.opener.test1();
    }catch(e){ alert(e.description);}
}
</SCRIPT>
</head>
<body oncontextmenu="return false"  ondragstart="return false" onload="opener1();">
<h1>Test Page</h1>

</body>
</html>

Aufrufmethode in test1.html von test2.html funktioniert nicht..irgendwelche Lösungen..geschätzt..danke

Auf das übergeordnete Fenster kann nur über die zugegriffen werden parent Variable. Die folgende Modifikation der opener1-Funktion sollte dies ermöglichen

function opener1(){
    try{
        if(parent.window.opener != null && !parent.window.opener.closed)
        {
          parent.window.opener.test1();
        }

    }catch(e){ alert(e.description);}       
}

  • Warum ist ein parent daran beteiligt?

    – jfriend00

    10. Februar 2014 um 7:39 Uhr


  • hallo anurpur immer noch das gleiche pblm..alert sagt undefiniert

    – schau

    10. Februar 2014 um 7:42 Uhr

  • weil Sie auf die Funktion des Fensters (test1.html) zugreifen möchten, von dem aus das zweite Fenster (test2.html) aufgerufen wird. also ist test1.html das übergeordnete Fenster von test2.html. So funktioniert Javascript. Der einfache Aufruf von window bezieht sich auf das aktuelle Fenster.

    – anurupr

    10. Februar 2014 um 7:43 Uhr

  • Wenn die Warnung undefined lautet, wird die Warnung im catch-Block aufgerufen. Können Sie den Fehler einfügen, der in der Konsole angezeigt wird?

    – anurupr

    10. Februar 2014 um 7:45 Uhr

  • interessant … es scheint an diesem Ende in Ordnung zu sein. Sind Sie sich zu 100 % sicher, dass Sie die Funktion opener1 in test2.html geändert haben?

    – anurupr

    10. Februar 2014 um 7:46 Uhr

Code scheint für mich in Ordnung zu sein. Wenn Sie eine Ausnahme abfangen, können Sie sie in der Konsole protokollieren, um Informationen darüber zu erhalten, was falsch ist. Stellen Sie sicher, dass die Domänen von test1.html und test2.html übereinstimmen, andernfalls erhalten Sie eine Sicherheitsausnahme.

  • error msg is :locked a frame with origin “null” from accessing a cross origin frame

    – schau

    10. Februar 2014 um 7:55 Uhr


  • Das bedeutet also, dass die Domänen nicht mit Ihren Eltern-Kind-Fenstern übereinstimmen. Auch dies funktioniert nicht, wenn HTML aus dem Dateisystem geöffnet wird.

    – Oskars Pakers

    10. Februar 2014 um 7:58 Uhr

Sie können meinen Code ausprobieren:

window.opener.document.location.href = url;

Dies funktioniert sowohl mit IE als auch mit Chrome.

window.opener.location.href="https://stackoverflow.com/questions/21671218/test.html";

Dies würde die Seite “https://stackoverflow.com/questions/21671218/test.html” öffnen.

und Sie können das übergeordnete Fenster schließen, sobald es geöffnet ist.

Vergessen Sie nicht, meine Antwort als richtig zu markieren, wenn sie funktioniert.

Dies liegt daran, dass die opener Eigentum von windows Objekt ist auf Geräten wie null iPad oder Chrom.

994960cookie-checkfenster.öffner | funktioniert nicht in Chrom

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy