Wenn Sie versuchen, eine HTTP-Anforderung mit XMLHttpRequest aus einer lokalen Datei auszuführen, schlägt dies grundsätzlich aufgrund eines Access-Control-Allow-Origin
Verstoßes fehl .
Ich verwende die lokale Webseite jedoch selbst und habe mich gefragt, ob es eine Möglichkeit gibt, Google Chrome dazu zu bringen, diese Anforderungen zuzulassen, die von einer lokalen Datei an eine URL im Internet gesendet werden.
ZB $.get('http://www.google.com/')
schlägt beim Ausführen in einer lokalen Datei fehl, aber ich habe die Seite selbst per Skript erstellt und verwende sie selbst. Daher wäre es äußerst nützlich, wenn ich sie unterdrücken und die URL laden könnte.
Wie kann ich Google Chrome erlauben, URLs mit XMLHttpRequest aus lokalen Dateien zu laden?
Access-Control-Allow-Origin: null
von der Website funktioniert. (ofc. nicht von google.com)Antworten:
Startchrom mit
--disable-web-security
Unter Windows:
Auf dem Mac:
Dies ermöglicht domänenübergreifende Anforderungen.
Mir ist nicht bekannt, ob dies auch für lokale Dateien funktioniert, aber lassen Sie es uns wissen!
Und erwähnen Sie, dass dies genau das tut, was Sie erwarten. Es deaktiviert die Websicherheit. Seien Sie also vorsichtig damit.
quelle
XMLHttpRequest cannot load file:///<my_local_file>. Cross origin requests are only supported for HTTP.
Daher ist die Aussage über den Safari-Browser aus diesem Thread nicht mehr gültig.Die Verwendung eines
--disable-web-security
Schalters ist ziemlich gefährlich ! Warum die Sicherheit überhaupt deaktivieren, während Sie XMLHttpRequest nur erlauben können, mit--allow-file-access-from-files
switch auf Dateien aus anderen Dateien zuzugreifen ?Stellen Sie vor der Verwendung dieser Befehle sicher, dass alle laufenden Instanzen von Chrome beendet sind.
Unter Windows:
Auf dem Mac:
Diskussionen über diese "Funktion" von Chrome:
quelle
chrome://flags
Mac-Version. Vom Terminallauf:
quelle
Unter Ubuntu:
Für weitere Details / Schalter:
http://peter.sh/experiments/chromium-command-line-switches/
Referenziert von
quelle