ich ein iframe programmatisch die „Daten“ URI bin erstellen:Zugriff Programmatically einen Iframe, der eine Daten URI als Quelle verwendet
<iframe id="myFrame" src='data:text/html;charset=utf-8,<!DOCTYPE html><html><head></head><body><h1>Hello.</h1></body></html>'></iframe>
Dieser Rahmen Lasten in Ordnung, aber es scheint, dass programmatisch mit dem iframe Arbeits führt zu domänenübergreifenden Sicherheitsprüfungen.
var iframeDoc = document.getElementById('myFrame').contentWindow.document;
$(iframeDoc.body).find('h1').text('Changed');
Wirft einen Fehler in Chrome und Safari:
Unsafe JavaScript attempt to access frame with URL data:text/html;charset=utf-8,... from frame with URL http://... The frame requesting access has a protocol of 'http', the frame being accessed has a protocol of ''. Protocols must match.
Hier ist eine Geige, die Sicherheit Fehler zeigt: http://jsfiddle.net/bhGcw/4/
Firefox und Opera nicht diese Ausnahme auslösen und die iframe Inhalte erlauben zu sein geändert. Scheint so, als ob Webkit ein leeres Protokoll für Daten-URIs sieht und sieht dies als eine domänenübergreifende Verletzung an.
Gibt es einen Weg um dies zu umgehen?
ist das das? http://code.google.com/p/chromium/issues/detail?id=82402 Es ist für Chrom, nicht Chrom, aber vielleicht hat es das gleiche Problem. Ich habe auch ein Sicherheitsproblem für Phishing gefunden, welches Chrome versucht zu verhindern, es könnte es auch sein – llamerr
Ja, das sieht definitiv ähnlich aus. Hatte gehofft, dass es einen Workaround gab, aber scheint, dass es nicht gibt. –