Ketika mencoba melakukan permintaan HTTP menggunakan XMLHttpRequest dari file lokal, itu pada dasarnya gagal karena Access-Control-Allow-Origin
pelanggaran.
Namun, saya menggunakan halaman web lokal sendiri, jadi saya bertanya-tanya apakah ada cara untuk membuat Google Chrome mengizinkan permintaan ini, yang berasal dari file lokal ke URL di Internet.
Misalnya, $.get('http://www.google.com/')
gagal ketika mengeksekusi di file lokal, tetapi saya telah membuat skrip halaman sendiri dan saya menggunakannya sendiri, jadi akan sangat berguna jika saya bisa menekannya dan memuat URL.
Jadi, bagaimana saya bisa mengizinkan Google Chrome memuat URL menggunakan XMLHttpRequest dari file lokal?
Access-Control-Allow-Origin: null
oleh situs web bekerja. (ofc. bukan oleh google.com)Jawaban:
startup chrome dengan
--disable-web-security
Di Windows:
Di Mac:
Ini akan memungkinkan permintaan lintas domain.
Saya tidak mengetahui apakah ini juga berfungsi untuk file lokal, tetapi beri tahu kami!
Dan sebutkan, ini sesuai dengan yang Anda harapkan, ini menonaktifkan keamanan web, jadi berhati-hatilah.
sumber
XMLHttpRequest cannot load file:///<my_local_file>. Cross origin requests are only supported for HTTP.
jadi pernyataan tentang browser Safari dari utas ini tidak lagi valid.Menggunakan
--disable-web-security
sakelar cukup berbahaya ! Mengapa menonaktifkan keamanan sama sekali sementara Anda hanya bisa mengizinkan XMLHttpRequest untuk mengakses file dari file lain yang menggunakan--allow-file-access-from-files
sakelar?Sebelum menggunakan perintah ini pastikan untuk mengakhiri semua instance Chrome yang berjalan.
Di Windows:
Di Mac:
Diskusi tentang "fitur" Chrome ini:
sumber
chrome://flags
Versi Mac. Dari terminal run:
sumber
Di Ubuntu:
Untuk keterangan lebih lanjut / sakelar:
http://peter.sh/experiments/chromium-command-line-switches/
Dirujuk dari
sumber