内容安全策略错误: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中文网其他相关文章!