Heim >Web-Frontend >js-Tutorial >Wie löse ich „SecurityError: Ein Frame mit Ursprung hat den Zugriff auf einen Cross-Origin-Frame blockiert'?

Wie löse ich „SecurityError: Ein Frame mit Ursprung hat den Zugriff auf einen Cross-Origin-Frame blockiert'?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-29 12:15:18804Durchsuche

How to Solve

Fehlerbehebung „Sicherheitsfehler: Ein Frame mit Ursprung wurde daran gehindert, auf einen Cross-Origin-Frame zuzugreifen“

Der Kern des Problems

Same-Origin-Richtlinie , eine wichtige Sicherheitsmaßnahme, verhindert, dass Skripte auf Frames unterschiedlicher Herkunft (Protokoll, Hostname oder Port) zugreifen. Dieser Fehler tritt auf, wenn versucht wird, auf Elemente innerhalb eines Iframes mit nicht übereinstimmendem Ursprung zuzugreifen.

Behebung des Problems

Der direkte JavaScript-Zugriff ist durch die Same-Origin-Richtlinie verboten. Wenn Sie jedoch beide Seiten steuern, sollten Sie window.postMessage für die domänenübergreifende Kommunikation in Betracht ziehen:

  1. Hauptseite:

    frame.contentWindow.postMessage(data, 'https://second-site.example');
  2. Iframe Seite:

    window.addEventListener('message', event => {
      if (event.origin === 'https://first-site.example') console.log(event.data);
    });

Same-Origin-Richtlinie deaktivieren (unklug)

In Ausnahmefällen müssen Sie die Richtlinie möglicherweise deaktivieren. Aus Sicherheitsgründen wird jedoch dringend davon abgeraten.

Für einige Browser finden Sie Anweisungen zum Deaktivieren hier:

  • [Google Chrome](Link)
  • [Mozilla Firefox](Link)
  • [Safari](Link)
  • [Microsoft Edge (Chromium)](Link)
  • [Brave](Link)
  • [Microsoft Internet Explorer](Link)

Denken Sie daran, dass die Deaktivierung der Same-Origin-Richtlinie Auswirkungen hat nur Ihr Browser und birgt erhebliche Sicherheitsrisiken.

Das obige ist der detaillierte Inhalt vonWie löse ich „SecurityError: Ein Frame mit Ursprung hat den Zugriff auf einen Cross-Origin-Frame blockiert'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn