Podczas próby wykonania żądania HTTP za pomocą XMLHttpRequest z pliku lokalnego, zasadniczo kończy się niepowodzeniem z powodu Access-Control-Allow-Origin
naruszenia.
Jednak sam korzystam z lokalnej strony internetowej, więc zastanawiałem się, czy istnieje sposób, aby Google Chrome zezwalał na te żądania, które są przesyłane z pliku lokalnego do adresu URL w Internecie.
Np. Kończy się $.get('http://www.google.com/')
niepowodzeniem podczas wykonywania w pliku lokalnym, ale sam utworzyłem skrypt strony i sam go używam, więc byłoby niezwykle przydatne, gdybym mógł to ukryć i załadować adres URL.
Jak więc mogę zezwolić przeglądarce Google Chrome na ładowanie adresów URL za pomocą XMLHttpRequest z plików lokalnych?
Access-Control-Allow-Origin: null
przez witrynę działa. (ofc. nie przez google.com)Odpowiedzi:
uruchamianie Chrome z
--disable-web-security
W systemie Windows:
Na komputerze Mac:
Umożliwi to wysyłanie żądań między domenami.
Nie wiem, czy to działa również w przypadku plików lokalnych, ale daj nam znać!
I wspomnij, robi dokładnie to, czego oczekujesz, wyłącza zabezpieczenia internetowe, więc bądź ostrożny.
źródło
XMLHttpRequest cannot load file:///<my_local_file>. Cross origin requests are only supported for HTTP.
więc oświadczenie o przeglądarce Safari z tego wątku nie jest już aktualne.Używanie
--disable-web-security
przełącznika jest dość niebezpieczne ! Po co w ogóle wyłączać zabezpieczenia, skoro można po prostu zezwolić XMLHttpRequest na dostęp do plików z innych plików za pomocą--allow-file-access-from-files
przełącznika?Przed użyciem tych poleceń należy zakończyć wszystkie uruchomione wystąpienia Chrome.
W systemie Windows:
Na komputerze Mac:
Dyskusje na temat tej „funkcji” Chrome:
źródło
chrome://flags
Wersja na Maca. Z terminala:
źródło
W systemie Ubuntu:
Więcej szczegółów / przełączniki:
http://peter.sh/experiments/chromium-command-line-switches/
Odniesienie z
źródło