Warum bekomme ich "Berechtigung verweigert" in Microsoft Edge, wenn ich auf den übergeordneten iframe zugreife

8

Ich habe einige Probleme beim Aufruf einer Funktion eines bestimmten Iframes nach dem erneuten Laden eines anderen Iframes. Es funktioniert auf allen gängigen Browsern, verhält sich aber auf Microsoft Edge etwas seltsam. Sie benötigen die folgende Konstellation, um den Fehler zu erhalten. Alle Dateien befinden sich im selben Verzeichnis auf demselben Server. Ich habe keine Inhaltssicherheitsrichtlinie festgelegt.

Wenn Sie Frame1.html laden, ist alles in Ordnung und Sie erhalten die "Alarm" -Meldung.

Wenn Sie jedoch auf das a-Tag "Click me" in frame4.html klicken, wird frame2.html neu geladen und Sie erhalten den Fehler "permission denied", weil auf das übergeordnete Objekt ( var tmpParent = parent; ) nicht zugegriffen werden kann . Wenn Sie erneut auf das a-Tag klicken, funktioniert es ohne Fehler.

Ich denke, es ist ein Edge-Bug, weil alle anderen Browser damit umgehen können und nur beim ersten Klick auftreten.

Der Fehler tritt auch auf, wenn Sie die oberste Zeile des übergeordneten Elements verwenden.

Der Code von topFrame.js wird verwendet, um den obersten Frame meiner Site zu finden. Ich kann top nicht einfach benutzen, weil es möglich sein sollte, meine Seite einzubetten.

Hat jemand eine Ahnung?

Vielen Dank!

Frame1.html

%Vor%

Frame2.html

%Vor%

Frame3.html

%Vor%

Frame4.html

%Vor%

topFrame.js

%Vor%     
gollum1007 03.12.2015, 13:31
quelle

1 Antwort

0

Nun, ich weiß, dass ich meinen Hals hier anstecke und versuche zu erraten, was IE Ihnen zu sagen versucht, aber ich würde annehmen, dass die Verwendung dieser Art von Kommunikation sich gegen das wendet, was iframes tun sollen.

Wenn Sie zwischen untergeordneten Frames zu Parnet-Frames kommunizieren möchten, sollten Sie stattdessen postMessages verwenden. Ich denke (ich glaube, denke), dass Ihr Skript gegen XSS blockiert wird - Cross Site Scripting. Also, wenn Sie einige Informationen zwischen Eltern-Rahmen und Kind-Rahmen kommunizieren möchten oder umgekehrt, empfehle ich einen Blick auf postMessges .

    
Samuel Bergström 11.09.2016 00:02
quelle