首页 > web前端 > js教程 > 如何修复 Android Lollipop 及以上版本中的'拒绝加载脚本”错误?

如何修复 Android Lollipop 及以上版本中的'拒绝加载脚本”错误?

Patricia Arquette
发布: 2024-10-19 13:03:29
原创
1117 人浏览过

How to Fix

解决 Android Lollipop 及以上版本中的“拒绝加载脚本”问题

将应用程序部署到具有 Lollipop 或更高版本的 Android 设备时,用户可能会遇到以下问题:遇到错误:“拒绝加载脚本,因为它违反了以下内容安全策略指令。”此问题的出现是由于这些版本中实施了更严格的内容安全策略。

了解内容安全策略

内容安全策略 (CSP) 是一种限制在网页上加载外部资源。它有助于防止恶意内容被执行。通过指定一组允许的域,该策略定义了可以加载哪些脚本、样式和图像。

KitKat 和之前的默认策略

在 Android KitKat 和早些时候,默认的 CSP 是:

<meta http-equiv="Content-Security-Policy" content="default-src 'self' data: gap: https://ssl.gstatic.com 'unsafe-inline' 'unsafe-eval'; style-src 'self' 'unsafe-inline'; media-src *">
登录后复制

此策略允许来自站点来源(“self”)和一些特定域的脚本,包括 Google Analytics(“https://ssl.gstatic”) .

Lollipop 及以上版本的限制策略

在 Android Lollipop 及以上版本中,默认 CSP 变得更加严格:

<meta http-equiv="Content-Security-Policy" content="script-src 'self' 'unsafe-eval' 'unsafe-inline'; object-src 'self'; style-src 'self' 'unsafe-inline'; media-src *">
登录后复制

此策略仅允许来自站点来源的脚本,不允许从外部源加载脚本。

解决方案

要解决此问题,您需要修改 CSP 以允许来自所需域的脚本。在本例中,您希望从“http://Guess.What.com/MyScript.js”加载脚本。

更正的 CSP

<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'; ">
登录后复制

通过添加行“script-src 'self' http://Guess.What.com 'unsafe-inline' 'unsafe-eval';”对于 CSP,您明确允许来自该域的脚本。

实施更正的 CSP 后,可以成功加载脚本,不会出现任何错误。

以上是如何修复 Android Lollipop 及以上版本中的'拒绝加载脚本”错误?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板