首頁 >web前端 >js教程 >為什麼 jQuery 的 load() 方法只能在 Firefox 中運作,而不能在 Chrome 或 Internet Explorer 中運作?

為什麼 jQuery 的 load() 方法只能在 Firefox 中運作,而不能在 Chrome 或 Internet Explorer 中運作?

DDD
DDD原創
2024-10-28 22:01:02376瀏覽

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

為什麼 jQuery load() 方法只能在 Firefox 中運作?

在嘗試深入研究 jQuery 和 AJAX 時,使用者遇到了一個無法解釋的問題。儘管遵循了官方 jQuery API 網站的指南,他們的程式碼仍無法在 Chrome 和 Internet Explorer 中產生預期的結果。有趣的是,程式碼在 Firefox 中開啟時成功執行。

程式碼涉及使用 load() 方法擷取外部 HTML 檔案 (list1.html) 並將其內容載入到指定的 DIV 元素(「stage」)中)。相關的 HTML 和 JavaScript 程式碼:

<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>

雖然程式碼在 Firefox 中按預期呈現,顯示項目符號列表,但在 Chrome 或 Internet Explorer 中不會顯示任何內容。造成這種差異的原因是現代瀏覽器(包括 Chrome 和 IE)施加的存取限制。

瀏覽器安全限制

為了增強安全性,現代瀏覽器會阻止開啟網頁來自本機檔案(例如,透過file:// 協定) 存取來自其他來源的內容(例如,存取外部文件)。此限制適用於 load() 方法,該方法嘗試從不同位置檢索檔案。

解決方案

要克服存取限制,請啟動 Chrome 或 Chromium使用 --allow-file-access-from-files 標誌。此標誌授予瀏覽器從網頁上下文存取本機檔案的權限。若要啟用此標誌:

  1. 開啟命令提示字元或終端機。
  2. 導覽至 Chrome 或 Chromium 安裝目錄。
  3. 執行以下命令:
chrome.exe --allow-file-access-from-files

或者,您可以透過使用下列目標路徑建立桌面捷徑來永久設定此標誌:

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

以上是為什麼 jQuery 的 load() 方法只能在 Firefox 中運作,而不能在 Chrome 或 Internet Explorer 中運作?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn