繁体   English   中英

Chrome扩展程序内容安全政策和权限

[英]Chrome extension content security policy and permissions

我正在尝试做一个Chrome扩展程序,但是内容安全政策有问题。

我在标题中调用的popup.js中创建一个带有json调用的popup.html。 我还在远程服务器上添加了另一个.js文件,因为它是外部服务的api汽车,所以无法包含它。

我尝试使用manifest.json进行所有操作。

"permissions": [ //"optional_permissions": [
        "http://*.myjsonserver.com/",
        "http://*.twilio.com/*",
        "https://*.twilio.com/*"
        //"http://*/*",
        //"https://*/*"
    ],

我尝试了这个。

"manifest_version": 2,
    "content_security_policy": "connect-src 'self' http://myjsonserver.com; object-src 'self'", //connect-src
    "content_security_policy": "script-src 'self' https://static.twilio.com; object-src 'self'"

还是我应该以这种方式添加JavaScript?

"content_scripts": [
    {
      "matches": ["http://static.twilio.com/*"],
      "js": ["jquery.js", "myscript.js"]
    }
  ],

我在Google Chrome浏览器中收到此错误。

Refused to load the script 'http://myjsonserver.com/get_token_cb.php?callback=jQuery210007401883858256042_144745747' because it violates the following Content Security Policy directive: "script-src 'self' https://static.twilio.com".
---------------
chrome-extension://static.twilio.com/libs/twiliojs/refs/6359b40/twilio.min.js Failed to load resource: net::ERR_FAILED

Failed to load resource: net::ERR_FAILED    chrome-extension://static.twilio.com/libs/twiliojs/refs/6359b40/twilio.min.js 

但没有任何作用,myjsonserver.com不在https服务器上,而是在我自己的服务器上。 twilio.com网址是从javascript访问twilio api。

这仅用于测试,因为稍后它将在background.js上

我尝试了所有,但我迷路了,我不知道。

很多事情在这里-我可以说Google建议您从扩展名而不是从Internet提供JS(因此,如果需要jQuery,则将其与扩展名捆绑在一起)。 关于您报告的特定错误,仅第二个content_security_policy生效。 您可以在他们的文档中看到他们仅在清单中指定这些属性之一。

为了解决您面临的错误,我相信您想要:

"content_security_policy": "script-src 'self' https://myjsonserver.com https://static.twilio.com; object-src 'self'"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM