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>
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:
chrome.exe --allow-file-access-from-files
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
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!