所以我不确定原因,但是我收到Chrome的错误消息。
错误讯息:
拒绝执行内联脚本,因为它违反了以下内容安全策略指令:“default-src'self'data:gap:https://ssl.gstatic.com'unsafe-eval'”。可以使用'unsafe-inline'关键字,散列('sha256-TakXxMuCq + J + ccgIY6WUXR + xy3 / BdgRbqG7Y1mNRWJQ =')或nonce('nonce -...')来启用内联执行。另请注意,'script-src'未明确设置,因此'default-src'用作后备。
jQuery:
<script type="text/javascript">
$( document ).ready(function() {
$.ajax({
type:'GET',
url:'http://api.steampowered.com/ISteamNews/GetNewsForApp/v0002/?appid=440&count=3&maxlength=300&format=json'
success: function(data){
console.log('success',data);
}
});
});
</script>
很抱歉,如果这是一个重复的问题 我很难找到问题的答案 但有人可以解释为什么我收到我得到的错误消息吗?
我想提供一些额外的信息,以便您了解我的情况
我正在用HTML编写应用程序
除了JSON之外,HTML中使用的所有文件都来自我的机器
我没有从任何服务器运行它们,包括xampp
。我只需双击我的HTML文件。
答案 0 :(得分:0)
您是否正在撰写Chrome扩展程序?您的问题并未立即明确,但我希望找到此错误消息。
扩展名不会执行内联script
标记。 Google Content Security Policy pages州:
不会执行内联JavaScript。这种限制禁止两者 内联
<script>
块和内联事件处理程序(例如<button onclick="...">
)。第一个限制消除了一大类跨站点脚本 使你无法意外执行脚本的攻击 由恶意第三方提供。但是,它确实需要你 编写代码,清楚地分离内容和行为 (你当然应该这样做,对吗?)。
有一种方法可以放宽这项政策
从Chrome 46开始,可以通过指定内联脚本将其列入白名单 策略中源代码的base64编码哈希。这个哈希必须 使用哈希算法(sha256,sha384或sha512)作为前缀。看到 Hash usage for
<script>
elements举个例子。