Мне нужно создать расширение 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]+"¤t="+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) Где лучше всего позвонить в мою службу, чтобы сохранить данные?Это функция обратного вызова с обновлением текущей вкладки?
Заранее большое спасибо за помощь и советы.