Отказался загрузить изображение «<URL>», поскольку оно нарушает следующую директиву политики безопасности содержимого: «img-sr c 'self' blob - PullRequest
0 голосов
/ 10 июля 2020

Я разрабатываю расширение 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);
      });
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...