chrome.tabs.executeScript | insertCss работает через один раз - PullRequest
0 голосов
/ 01 июля 2018

Я добавляю стили и скрипты для определенного сайта в фоновом режиме.

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, это тоже не всегда работает. Иногда он открывает страницу (не перезагружается) и ничего не загружается.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...