Mengapakah kaedah load() jQuery hanya berfungsi dalam Firefox, tetapi tidak dalam Chrome atau Internet Explorer?

DDD
Lepaskan: 2024-10-28 22:01:02
asal
268 orang telah melayarinya

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

Mengapa Kaedah jQuery load() Hanya Berfungsi dalam Firefox?

Dalam percubaan untuk menyelidiki jQuery dan AJAX, pengguna telah menemui masalah yang tidak dapat dijelaskan. Walaupun mengikut panduan daripada laman web rasmi jQuery API, kod mereka gagal menghasilkan hasil yang diharapkan dalam Chrome dan Internet Explorer. Menariknya, kod tersebut berjaya dilaksanakan apabila dibuka dalam Firefox.

Kod ini melibatkan penggunaan kaedah load() untuk mendapatkan semula fail HTML luaran (list1.html) dan memuatkan kandungannya ke dalam elemen DIV yang ditetapkan ("peringkat" ). Kod HTML dan JavaScript yang berkaitan:

<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>
Salin selepas log masuk

Semasa kod dipaparkan seperti yang dijangkakan dalam Firefox, memaparkan senarai item bertitik bullet, tiada apa-apa yang dipaparkan dalam Chrome atau Internet Explorer. Punca percanggahan ini ialah sekatan akses yang dikenakan oleh penyemak imbas moden, termasuk Chrome dan IE.

Sekatan Keselamatan Penyemak Imbas

Untuk meningkatkan keselamatan, penyemak imbas moden menghalang halaman web dibuka daripada fail tempatan (cth., melalui fail:// protokol) daripada mengakses kandungan daripada asal lain (cth., mengakses fail luaran). Sekatan ini dikenakan pada kaedah load(), yang cuba mendapatkan semula fail dari lokasi lain.

Penyelesaian

Untuk mengatasi sekatan akses, lancarkan Chrome atau Chromium dengan bendera --allow-file-access-from-files. Bendera ini memberikan kebenaran pelayar untuk mengakses fail tempatan dari dalam konteks halaman web. Untuk mendayakan bendera ini:

  1. Buka gesaan arahan atau terminal.
  2. Navigasi ke direktori pemasangan Chrome atau Chromium.
  3. Jalankan arahan berikut:
chrome.exe --allow-file-access-from-files
Salin selepas log masuk

Sebagai alternatif, anda boleh menetapkan bendera ini secara kekal dengan mencipta pintasan desktop dengan laluan sasaran berikut:

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

Atas ialah kandungan terperinci Mengapakah kaedah load() jQuery hanya berfungsi dalam Firefox, tetapi tidak dalam Chrome atau Internet Explorer?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!