1. 程式人生 > >(unknown): Script Error

(unknown): Script Error

當未捕獲的 JavaScript 錯誤違背跨邊界原則時,就會發生指令碼錯誤。例如,如果將 JavaScript 程式碼託管在 CDN 上,則任何未被捕獲的錯誤(通過 window.onerror 處理程式發出的錯誤,而不是 try-catch 中捕獲到的錯誤)將僅報告為“指令碼錯誤”。這是瀏覽器的一種安全措施,主要用於防止跨域傳遞資料的情況出現。

要獲取真實的錯誤訊息,需要執行以下操作:

Access-Control-Allow-Origin

將 Access-Control-Allow-Origin 設定為 , 表示可以從任何域正確訪問資源。 如有必要,也可以用自己的域名進行替換,例如:

Access-Control-Allow-Origin:

www.example.com

以下是在各種環境中設定的一些示例: Apache

在 JavaScript 資料夾中,建立一個 .htaccess 檔案,幷包含以下內容: 在這裡插入圖片描述Nginx

將 add_header 指令新增到提供 JavaScript 檔案的 location block 中: 在這裡插入圖片描述HAProxy

將以下內容新增到提供 JavaScript 檔案的靜態資源配置後端: 在這裡插入圖片描述在指令碼標籤上設定crossorigin =“anonymous”

在你的 HTML 原始碼中,為每一個指令碼設定 Access-Control-Allow-Origin,在設定 SCRIPT 標籤中,設定 crossorigin=“anonymous”。在將 crossorigin 屬性新增到指令碼標籤之前,請確保正在向指令碼檔案傳送 header。在 Firefox 中,如果 crossorigin 屬性存在但 Access-Control-Allow-Origin 標題不存在,則指令碼不會執行。