Не могу заставить chrome.tabs.executeScripts работать - PullRequest
0 голосов
/ 29 апреля 2018

Я пытаюсь изменить существующее расширение Chrome.

То, что я хочу, это расширение Chrome, где я заполняю всплывающее окно, полное URL-адресов, а затем, когда я нажимаю ОК, каждый URL-адрес открывается на новой вкладке 1 за один раз, затем определенные данные на этой вкладке затем копируются куда-то, вкладка закрывается и вызывается следующий URL в списке и так далее, пока список не будет завершен. расширение наконец-то выводит все скопированные данные со всех вкладок в файл CSV (который я затем могу манипулировать в Excel.

Я искал повсюду, но до сих пор дошел только до того, как открыть вкладки ОДНАКО они все открываются одновременно. это я так далеко, как я получил.

Я попытался использовать скрипт chrome.tabs.execute, и это, кажется, блокирует цикл,

Есть идеи?

РЕДАКТИРОВАТЬ - ЗДЕСЬ ПОЛНЫЙ КОД

Большое спасибо

function loadSites(e) {
var urlschemes = ['http', 'https', 'file', 'view-source'];
var urls = document.getElementById('urls')
    .value.split('\n');
var lazyloading = document.getElementsByName('lazyloading')[0].checked;
for (var i = 0; i < urls.length; i++) {
    theurl = urls[i].trim();
    if (theurl != '') {
        if (urlschemes.indexOf(theurl.split(':')[0]) == -1) {
            theurl = 'http://' + theurl;
        }
        if (lazyloading && theurl.split(':')[0] != 'view-source' && theurl.split(':')[0] != 'file') {
            chrome.tabs.create({
                url: chrome.extension.getURL('lazyloading.html#') + theurl,
                selected: false
            });
        } else {
            chrome.tabs.create({
                url: theurl,
                selected: true, 
                activ
                function(tab) {
                chrome.tabs.executeScript(tab.id, { file: "contentscript.js" });
            });
        }
    }
}

}

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