Я разрабатываю расширение 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);
});
});