Heim  >  Artikel  >  Web-Frontend  >  Warum funktioniert die Methode „load()' von jQuery nur in Firefox, nicht jedoch in Chrome oder Internet Explorer?

Warum funktioniert die Methode „load()' von jQuery nur in Firefox, nicht jedoch in Chrome oder Internet Explorer?

DDD
DDDOriginal
2024-10-28 22:01:02339Durchsuche

Why is jQuery's load() method only working in Firefox, but not in Chrome or Internet Explorer?

Warum funktioniert die jQuery-load()-Methode nur in Firefox?

Beim Versuch, sich mit jQuery und AJAX zu befassen, ist ein Benutzer auf Folgendes gestoßen ein unerklärliches Problem. Obwohl sie einer Anleitung auf der offiziellen jQuery-API-Website folgen, liefert ihr Code in Chrome und Internet Explorer nicht das erwartete Ergebnis. Interessanterweise wird der Code erfolgreich ausgeführt, wenn er in Firefox geöffnet wird.

Der Code beinhaltet die Verwendung der Methode „load()“, um eine externe HTML-Datei (list1.html) abzurufen und deren Inhalt in ein bestimmtes DIV-Element („stage“) zu laden. ). Der relevante HTML- und JavaScript-Code:

<code class="html"><script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script>
$( "#stage" ).load( "list1.html" );
</script></code>

Während der Code in Firefox wie erwartet gerendert wird und eine Liste mit Elementen mit Aufzählungspunkten anzeigt, wird in Chrome oder Internet Explorer nichts angezeigt. Die Ursache für diese Diskrepanz ist eine Zugriffsbeschränkung, die von modernen Browsern, einschließlich Chrome und IE, auferlegt wird.

Browser-Sicherheitsbeschränkung

Um die Sicherheit zu erhöhen, verhindern moderne Browser das Öffnen von Webseiten von lokalen Dateien (z. B. über das file://-Protokoll) vom Zugriff auf Inhalte anderer Herkunft (z. B. Zugriff auf externe Dateien). Diese Einschränkung gilt für die Methode „load()“, die versucht, eine Datei von einem anderen Speicherort abzurufen.

Lösung

Um die Zugriffsbeschränkung zu überwinden, starten Sie Chrome oder Chromium mit dem Flag --allow-file-access-from-files. Dieses Flag gewährt dem Browser die Berechtigung, im Kontext der Webseite auf lokale Dateien zuzugreifen. So aktivieren Sie dieses Flag:

  1. Öffnen Sie eine Eingabeaufforderung oder ein Terminal.
  2. Navigieren Sie zum Chrome- oder Chromium-Installationsverzeichnis.
  3. Führen Sie den folgenden Befehl aus:
chrome.exe --allow-file-access-from-files

Alternativ können Sie dieses Flag dauerhaft setzen, indem Sie eine Desktop-Verknüpfung mit folgendem Zielpfad erstellen:

"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --allow-file-access-from-files

Das obige ist der detaillierte Inhalt vonWarum funktioniert die Methode „load()' von jQuery nur in Firefox, nicht jedoch in Chrome oder Internet Explorer?. 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