拒绝加载图像'<URL>',因为它违反了以下内容安全策略指令:“ img-src'self'blob

时间:2020-07-10 13:20:09

标签: javascript google-chrome-extension content-security-policy

我正在开发一个Chrome扩展程序,该扩展程序必须在Unicode表情符号和Firebase上存储的图像之间交换,因为用户单击了该扩展程序的html页面上的按钮。它可以在Facebook上运行,但不能在Twitter上运行,因为后者不允许加载来自无法识别来源的资源。我尝试遵循Google(https://developer.chrome.com/apps/app_external#external)提供的示例,但它不会更改图像。

content-script.js

chrome.runtime.onMessage.addListener(function(msg, _, sendResponse) {
    console.log('onMessage', msg);
    if (msg.greeting == "hello") {
        let images = document.getElementsByClassName('css-1dbjc4n r-1niwhzg r-vvn4in');
        for(let i = 0; i < images.length; i++) {
            if (images[i].style.backgroundImage.includes('1f911')) {
                images[i].style.backgroundImage = "url('MY_LINK_FROM_FIREBASE')";
            }
        }
        sendResponse({farewell: "Done"});
    }
});
console.log("loaded");

在用户单击按钮后调用脚本。

chrome.tabs.getSelected(null, function(tab) {
      chrome.tabs.sendMessage(tab.id, {greeting: "hello"}, function(msg) {
         msg = msg || {};
          //chrome.extension.getBackgroundPage().console.log('onResponse', msg.farewell);
      });
});

0 个答案:

没有答案