首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >内容安全策略指令:"script-src 'self‘blob: filesystem: chrome-extension-resource:“

内容安全策略指令:"script-src 'self‘blob: filesystem: chrome-extension-resource:“
EN

Stack Overflow用户
提问于 2016-05-04 09:59:59
回答 1查看 7.4K关注 0票数 21

我正在使用jQuery简单的是否插件来获取是否,并试图创建一个chrome小部件。

当加载文件作为chrome扩展时,我得到了错误,在看了google提供的所有帮助和它自己的帮助后,我仍然无法解决这个问题。

以下是雅虎的错误信息

代码语言:javascript
复制
> jquery-2.1.3.min.js:4 Refused to load the script
> 'https://query.yahooapis.com/v1/public/yql?format=json&rnd=2016437&diagnosti…ces(1)%20where%20text=%22New%20Delhi%22)%20and%20u=%22c%22&_=1462326587463'
> because it violates the following Content Security Policy directive:
> "script-src 'self' blob: filesystem: chrome-extension-resource:".

另一个错误是字体,

代码语言:javascript
复制
> Refused to load the font
> 'data:application/octet-stream;base64,AAEAAAAPAIAAAwBwR1NVQrD+s+0AAAD8AAAAQk…GIUViwQIhYsQNkRLEmAYhRWLoIgAABBECIY1RYsQMARFlZWVmzDAIBDCq4Af+FsASNsQIARAAA'
> because it violates the following Content Security Policy directive:
> "default-src *". Note that 'font-src' was not explicitly set, so
> 'default-src' is used as a fallback.

使用的清单代码包括

代码语言:javascript
复制
"content_security_policy": "script-src 'self'; object-src 'self' https://query.yahooapis.com/",
    "permissions": [
      "tabs", "<all_urls", "http://localhost/",
      "http://*/*", "https://*/*", "https://query.yahooapis.com/*"
    ],
    "content_scripts":
    [{
        "css": [
            "css/component.css",
            "css/tooltip-line.css",
            "css/modal.css"
        ],
        "js": [
            "js/modernizr.custom.js",
            "js/jquery-2.1.3.min.js",
            "js/jquery.simpleWeather.min.js",
            "js/handlebars-v4.0.5.js",
            "js/moment.min.js",
            "js/background.js"

        ],
        "matches": [ "http://*/*", "https://*/*"]
    }]

同样在我的html文件中,我使用了这个meta标记。

代码语言:javascript
复制
<meta http-equiv="Content-Security-Policy" content="default-src *; style-src 'self' http://* 'unsafe-inline'; script-src 'self' http://* 'unsafe-inline' 'unsafe-eval'" />

有人能帮我解决这个问题吗?

EN

回答 1

Stack Overflow用户

发布于 2018-03-06 21:05:31

您的内容安全策略具有"script-src 'self',这意味着无法从第三方URL加载脚本。

您已经在object-src指令中指定了yahoo API。object-src指令(MDN)为<object><embed><applet>元素指定有效的源。

要从第三方加载脚本,必须在script-src指令中指定,如下所示:

代码语言:javascript
复制
"content_security_policy": "script-src https://query.yahooapis.com/ 'self'; ..."
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37017192

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档