2017-09-28 1 views
3

Ich öffne ein Fenster mitwindow.opener.parent funktioniert nicht auf Microsoft Edge

window.open();

Nach der Bearbeitung in diesem Fenster Ich möchte die Daten in Parent Fensterelement schreiben, mit:

var html_high = '<img width="600" src="assets/images/abc.jpg" alt="Image">'; 
var high = window.opener.parent; 
$('#image_area',high.document).html(html_high); 

$('#image_area',high.document).html(html_high); Dies funktioniert nicht und gibt nur einen Fehler in der Konsole in Microsoft Edge 40.15063.0.0:

"SCRIPT65535: Invalid argument"

Der obige Code auf alle Browser funktioniert mit IE 11,10,9, Chrom, mozilla und Safari.

Antwort

0

Dies ist ein bekanntes Problem mit MS Edge. Sie könnten versuchen, einen Verweis auf das neu geöffnete Fenster zu speichern und versuchen, es ausloggen, um zu sehen, ob es andere Eigenschaften gibt, die haben, wonach Sie suchen. Keine echten Workarounds, die ich gesehen habe. https://connect.microsoft.com/IE/feedback/details/828050/ie-11-when-opening-a-new-window-from-another-window-opener-is-undefined

MDN Erklärung:

Wenn ein Fenster von einem anderen Fenster (mit Window.open oder einer Verknüpfung mit dem Zielattribut eingestellt ist) geöffnet wird, behält es einen Verweis auf dieses ersten Fenster als window.opener. Wenn das aktuelle Fenster keinen Öffner hat, gibt diese Methode NULL zurück.

Der Windows Phone-Browser unterstützt window.opener nicht (getestet mit Microsoft Edge 25.10586.36.0). Es wird auch nicht in IE unterstützt, wenn der Öffner in einer anderen Sicherheitszone ist.

In einigen Browsern verhindert das Attribut rel = "noopener" des ursprünglichen Anker-Tags, dass die window.opener-Referenz gesetzt wird.

Verwandte Themen