Я добавляю стили и скрипты для определенного сайта в фоновом режиме.
chrome.tabs.onUpdated.addListener (function (tabId, changeInfo, tab) {
console.log (tabId, changeInfo, tab);
if (changeInfo.status === 'complete' && siteUrl.test (tab.url)) {
insertCss (tab.id, '/css/bootstrap.min.css', function () {
insertCss (tab.id, '/css/jquery.toast.min.css', function () {
insertCss (tab.id, '/css/content_style.css', function () {
executeScript (tab.id, '/js/utils/jquery-3.3.1.js', function () {
executeScript (tab.id, '/js/utils/js.cookie.js', function () {
executeScript (tab.id, '/js/utils/jquery.toast.min.js', function () {
executeScript (tab.id, '/js/utils/sweetalert2.js', function () {
executeScript (tab.id, '/js/core.js', function () {
executeScript (tab.id, '/js/content_script.js', function () {
console.warn ('FILES INJECTION COMPLETE');
});
});
});
});
});
});
});
});
});
}
});
Когда вы переходите на страницу, все в порядке, но если вы позже обновляете страницу, стили и сценарии вставляются через время - как только вы ничего не обновляете, снова появляется все.
почему это?
Если вы пишете в manifest.json content_scripts, это тоже не всегда работает. Иногда он открывает страницу (не перезагружается) и ничего не загружается.