簡體   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