內容安全策略錯誤:Android Lollipop 上的腳本阻塞
在執行Lollipop (Android 5.0.0) 的Android 裝置上部署Cordova應用程式時) 或更高版本,您可能會遇到錯誤訊息:「拒絕載入腳本,因為它違反了以下內容安全策略指令:'script-src 'self' 'unsafe-eval' 'unsafe-inline'。 」這表示應用程式的預設內容安全策略(CSP) 阻止從外部網域載入腳本。
Android KitKat 及以下版本的預設CSP
The Android KitKat (4.4.x) 及更早版本的預設CSP 允許從可信任來源載入腳本,包括與HTML 文件相同的網域(“self”)、CDN(例如“gstatic.com”)和本地儲存(“data”) ')。
Android Lollipop 及以上版本所需的變更
對於執行 Lollipop 或更高版本的設備,必須修改預設 CSP 以明確允許從外部網域載入腳本。這可以透過更新來實現。
解決方案:修改內容安全策略
要修正錯誤,您可以嘗試更新標籤在專案的index.html 檔案中加入以下內容的標記:
<code class="html"><meta http-equiv="Content-Security-Policy" content="default-src 'self' data: gap: https://ssl.gstatic.com 'unsafe-eval'; style-src 'self' 'unsafe-inline'; media-src *;**script-src 'self' http://Guess.What.com 'unsafe-inline' 'unsafe-eval';**" /></code>
將「http://Guess.What.com/MyScript.js」替換為您要匯入的腳本的實際URL。此修改允許從指定網域載入腳本,解決了 CSP 違規錯誤。
以上是為什麼我的 Cordova 應用程式在 Android 上 Lollipop 上遇到內容安全策略 (CSP) 錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!