首页  >  文章  >  web前端  >  为什么我的 Cordova 应用程序在 Android 上 Lollipop 上遇到内容安全策略 (CSP) 错误?

为什么我的 Cordova 应用程序在 Android 上 Lollipop 上遇到内容安全策略 (CSP) 错误?

Patricia Arquette
Patricia Arquette原创
2024-10-19 13:10:29975浏览

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