4 Stimmen

$('iframe').content(): Kann CORS nicht passieren

Ich habe ein iframe auf http://mysite.dev:3000 und ein Skript auf dieser Seite wird das src-Attribut des iframes auf http://mysite.dev:5000/somepage.html setzen.

Nachdem das iframe geladen wurde, möchte ich auf dessen Inhalt zugreifen, indem ich dieses Skript verwende (auf http://mysite.dev:3000):

$('iframe').load(function() {
    $('iframe').contents();
});

Und ich bekomme immer den Fehler:

Uncaught SecurityError: Failed to read the 'contentDocument' property from 'HTMLIFrameElement': Blocked a frame with origin.

Auch wenn der Antwortheader von http://mysite.dev:5000/somepage.html den CORS-Richtlinien folgt:

Accept-Ranges:bytes
access-control-allow-credentials:true
access-control-allow-headers:Authorization, X-Requested-With, Content-Type, Origin, Accept
access-control-allow-methods:GET,PUT,POST,DELETE,OPTIONS
access-control-allow-origin:*
Cache-Control:public, max-age=0

Ich habe mehrere Fragen auf SO gelesen und ihnen gefolgt, aber es hat immer noch nicht funktioniert.

0voto

claya Punkte 1832

Die Cors-Header gelten nicht für Iframes. Sie müssen die postMessage-Methode verwenden, um Daten zwischen verschiedenen Domains zu übertragen. siehe Cross-Domain-Iframe-Problem

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X