首頁  >  文章  >  web前端  >  為什麼我的 Cordova 應用程式在 Android 上 Lollipop 上遇到內容安全策略 (CSP) 錯誤?

為什麼我的 Cordova 應用程式在 Android 上 Lollipop 上遇到內容安全策略 (CSP) 錯誤?

Patricia Arquette
Patricia Arquette原創
2024-10-19 13:10:29973瀏覽

Why is my Cordova App Encountering a Content Security Policy (CSP) Error on Android Above Lollipop?

內容安全策略錯誤: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中文網其他相關文章!

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