Чтение в цикле, содержание HTML-страниц с расширением Chrome - PullRequest
0 голосов
/ 26 октября 2018

Мне нужно создать расширение Google Chrome, которое выполняет следующие действия:

Чтение массива URL (возможно иметь 2000 URL) Для каждого URL: 1) Я отображаю страницу во вкладке 2) Я извлекаю html-контент на новой загруженной странице. 3) Я создал новый URL с извлеченным содержимым для отправки информации в мой собственный локальный сервис, он сохраняет информацию (я полагаю, мне просто нужно обновить вкладку с помощью этого нового URL-адреса).)

После этого, все в порядке, я просто повторяю те же задачи со следующим URL.

Чтобы начать выполнять эту работу, я создал 3 следующих файла.

Manifest.json

{
    "manifest_version": 2,
    "name": "Test",
    "description": "Test to read pages",
    "version": "1.0",
    "browser_action": {
        "default_title": "test page reader",
        "default_popup": "popup.html",
        "default_icon": "icon.png"
    },
    "permissions": [
        "activeTab"
    ]
}

popup.html Этот файл загружает непосредственно popup.js

<html>

<head>
    <script type="text/javascript" src="popup.js"></script>
</head>

<body>
    <div id="test" style="width: 100px; height: 100px; margin-top: 15px;"></div>
</body>

</html>

popup.js

urls = ["http://localhost/page1.php",
        "http://localhost/page2.php",
        "http://localhost/page3.php"
];

for (i = 0; i < urls.length; i++) { 
    myUrl = urls[i]+"&current="+i; // add "current" parameter to know where I am

    // callback function
    callbackFct = function() {
        // affecte le style de la div
        document.body.style.backgroundColor = "red";
    };

    // update tab and execute callbackFct
    chrome.tabs.update(null, {url:myUrl}, callbackFct);

}

У меня проблема с моим кодом:

Функция обратного вызова изменяет цвет фона в popup.html ине фон страницы.Как мне сделать, чтобы изменить содержимое вкладки, а не содержимое popup.html?Когда эта операция будет в порядке, я могу заменить извлечение данных (шаг 2).Это способ записи использовать функцию обратного вызова после того, как я обновил вкладку?Цель - дождаться полной загрузки страницы DOM.(Шаг 3) Где лучше всего позвонить в мою службу, чтобы сохранить данные?Это функция обратного вызова с обновлением текущей вкладки?

Заранее большое спасибо за помощь и советы.

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