【发布时间】:2014-07-14 11:15:00
【问题描述】:
我正在编写一个 Android 应用程序,它托管一个 webview 来加载网页。我在 logcat 中遇到了很多如下错误:
拒绝执行内联脚本,因为它违反了以下内容 内容安全策略指令:“default-src 'self'”。注意 'script-src' 没有明确设置,所以 'default-src' 被用作 后备。
请注意,如果 Javascript 不是内联脚本,它会很好地执行。 例如,使用如下 HTML 文件:
<htnl>
<head>
<script type="text/javascript" src="abc.js"></script>
</head>
<body>
<script type="text/javascript">
alert("This is inline script");
</script>
</body>
</html>
abc.js中的脚本执行正常,但是内联脚本被拒绝执行。
我了解 webview 由于“联系安全策略”而拒绝执行内联 Javascript。但是网页需要执行那些内联脚本才能正常运行,我无法对网页进行任何更改。
这个问题只有 KitKat (Android 4.4)
有什么办法可以解决这个问题,修改“内容安全策略”以允许执行内联脚本。
【问题讨论】:
-
@Dalorzo:感谢您的参考,我已经看到了这个问题,但我的问题不同。我的问题与内容安全策略有关,如果不是内联 Javascript,则 Javascript 执行得很好。
-
嘿,你找到解决这个问题的方法了吗?我面临同样的事情。
标签: javascript android webview content-security-policy