Я тестирую расширение Chrome, в котором я создаю div на открытой вкладке во время выполнения и применяю к нему некоторые CSS.Когда я тестирую его в моей системе, он работает нормально, но когда я тестирую его в другой системе (той же версии Chrome), он работает на некоторых страницах, но не работает на других.
Мой код для создания div выглядит следующим образом:
chrome.browserAction.onClicked.addListener(function(tab) {
chrome.tabs.executeScript(null, {file: "content_script.js"});
});
content_script.js:
//<LINK>
var link = document.createElement('link');
link.href = 'http://mydomain.com/getfeedback-dialog.css';
link.rel = 'stylesheet';
link.type = 'text/css';
document.getElementsByTagName('head')[0].appendChild(link);
//OVERLAY
var getfeedback_overlay = document.createElement('div');
getfeedback_overlay.setAttribute('id', 'getfeedbackoverlay');
document.body.appendChild(getfeedback_overlay);
//DIALOG
var getfeedback_dialog = document.createElement('div');
getfeedback_dialog.setAttribute('id','getfeedbackdialog');
//CONTAINER
var getfeedback_container = document.createElement('div');
getfeedback_container.appendChild(getfeedback_dialog);
//<IMG>
getfeedback_dialog_image = document.createElement('img');
getfeedback_dialog_image.setAttribute('src','http://mydomain.com/icon.jpg');
getfeedback_dialog.appendChild(getfeedback_dialog_image);
//<A>
getfeedback_dialog_a = document.createElement('a');
getfeedback_dialog_a.setAttribute('href','http://mydomain.com');
getfeedback_dialog_a.setAttribute('id','textlogo');
getfeedback_dialog_a.setAttribute('target','_blank');
getfeedback_dialog_a.innerHTML = 'Extension by Me';
getfeedback_dialog.appendChild(getfeedback_dialog_a);
getfeedback_container.setAttribute('id','getfeedbackcontainer');
document.body.appendChild(getfeedback_container);
Я хочу использоватьтот же подход, что и у расширения «Стильный», которое изменяет CSS страницы при ее загрузке.Как им это удается?