855 Stimmen

Sicherheitsfehler: Blockierte einen Rahmen mit Ursprung daran, auf einen Frame mit Ursprung von unterschiedlichen Ursprung zuzugreifen.

Ich lade ein </code> in meiner HTML-Seite und versuche, die Elemente darin mit JavaScript zu bearbeiten, aber wenn ich meinen Code ausführen möchte, erhalte ich den folgenden Fehler:</p> <blockquote> <p>Sicherheitsfehler: Ein Frame mit der Herkunft "http://www.example.com" wurde daran gehindert, auf einen Frame mit einer anderen Herkunft zuzugreifen.</p> </blockquote> <p>Wie kann ich auf die Elemente im Frame zugreifen?</p> <p>Ich verwende diesen Code zum Testen, aber vergeblich:</p> <pre class="lang-js prettyprint-override"><code>$(document).ready(function() { var iframeWindow = document.getElementById("my-iframe-id").contentWindow; iframeWindow.addEventListener("load", function() { var doc = iframe.contentDocument || iframe.contentWindow.document; var target = doc.getElementById("my-target-id"); target.innerHTML = "Gefunden!"; }); }); </code></pre></x-turndown>

0voto

ssp Punkte 294

Ich möchte Java Spring-spezifische Konfiguration hinzufügen, die sich darauf auswirken kann.

In der Webseite oder Gateway-Anwendung gibt es eine contentSecurityPolicy-Einstellung.

In Spring können Sie die Implementierung der Unterklasse WebSecurityConfigurerAdapter finden.

contentSecurityPolicy("
script-src 'self' [URLDomain]/scripts ; 
style-src 'self' [URLDomain]/styles;
frame-src 'self' [URLDomain]/frameUrl...

...

.referrerPolicy(ReferrerPolicyHeaderWriter.ReferrerPolicy.STRICT_ORIGIN_WHEN_CROSS_ORIGIN)

Der Browser wird blockiert, wenn Sie hier keine sicheren externen Inhalte definiert haben.

0voto

Zhanwen Chen Punkte 1090

Wenn Sie die Inhaltssteuerung des iframe haben - das heißt, wenn es nur in einem Cross-Origin-Setup geladen wird, wie zum Beispiel auf Amazon Mechanical Turk - können Sie dieses Problem mit dem Attribut für den inneren html umgehen.

Zum Beispiel für das innere html, verwenden Sie den this html-Parameter (ja - this ist definiert und bezieht sich auf das übergeordnete Fenster des inneren body-Elements):

Im inneren html:

    function changeForm(window) {
        console.log('inneres Fenster geladen: Machen Sie, was Sie möchten, mit dem inneren html');
        window.document.getElementById('mturk_form').style.display = 'none';

0voto

Nick K9 Punkte 3027

Ich habe diesen Fehler erlebt, als ich versucht habe, ein iframe einzubetten und dann die Seite mit Brave zu öffnen. Der Fehler verschwand, als ich zu "Shields Down" für die betreffende Seite wechselte. Offensichtlich ist dies keine vollständige Lösung, da alle anderen Besucher der Seite mit Brave auf dasselbe Problem stoßen werden. Um es tatsächlich zu lösen, müsste ich eine der anderen auf dieser Seite aufgelisteten Maßnahmen ergreifen. Aber zumindest weiß ich jetzt, wo das Problem liegt.

-73voto

sakthi sudhan Punkte 179
  • Öffnen Sie das Startmenü
  • Geben Sie windows+R ein oder öffnen Sie "Ausführen"
  • Führen Sie den folgenden Befehl aus.

chrome.exe --user-data-dir="C://Chrome dev session" --disable-web-security

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