浏览器正在阻止我的jquery

时间:2017-03-29 01:42:21

标签: javascript jquery google-chrome

所以我不确定原因,但是我收到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文件。

1 个答案:

答案 0 :(得分:0)

您是否正在撰写Chrome扩展程序?您的问题并未立即明确,但我希望找到此错误消息。

扩展名不会执行内联script标记。 Google Content Security Policy pages州:

  

不会执行内联JavaScript。这种限制禁止两者   内联<script>块和内联事件处理程序(例如<button onclick="...">)。

     

第一个限制消除了一大类跨站点脚本   使你无法意外执行脚本的攻击   由恶意第三方提供。但是,它确实需要你   编写代码,清楚地分离内容和行为   (你当然应该这样做,对吗?)。

有一种方法可以放宽这项政策

  

从Chrome 46开始,可以通过指定内联脚本将其列入白名单   策略中源代码的base64编码哈希。这个哈希必须   使用哈希算法(sha256,sha384或sha512)作为前缀。看到   Hash usage for <script> elements举个例子。