Завершение ответа @ jess:
Сначала добавьте строки ниже в ваш manifest.json :
"content_scripts": [{
"matches": ["https://anylinkhere.com/*"],
"css": ["optionalstyle.css"],
"js": ["contentscript.js"]
}],
Затем создайте файл contentscript.js в папке вашего расширения:
window.onload = function() {
chrome.runtime.sendMessage(document.images.length);
}
- window.onload = function () {}
будет запущен, когда страница полностью загружена (требуется для загрузки всех изображений)
- chrome.runtime.sendMessage (document.images.length);
отправит сообщение на ваш background.js с количеством изображений на странице.
А затем в вашем background.js добавьте:
chrome.runtime.onMessage.addListener(function(response, sender, sendResponse,) {
chrome.storage.sync.set({"x": (response)}, function() {
console.log('Set x as '+ (response));
});
});
- chrome.runtime.onMessage.addListener ...
получите сообщение, отправленное вашим contentscript.js
- chrome.storage.sync.set ({"x": (ответ)}, ...
сохраняет значение ответа (количество изображений) в x, тогда popup.js сможет получить к нему доступ.
- console.log ('Установить x как' + (ответ));
войти (необязательно)
Теперь в вашем popup.js :
chrome.storage.sync.get('x', function(data) {
document.getElementById("anyidhere").innerHTML = data.x;
});
- chrome.storage.sync.get ( 'х', ...
берет значение X из хранилища
- document.getElementById ("anyidhere"). InnerHTML = data.x;
Добавляет значение X к элементу с указанным идентификатором (из вашего popup.html), например:
<body>
<p id="anyidhere"></p>
</body>
Ну, это все, что я узнал, изучая два дня, некоторая информация может быть неверной или плохо объясненной, но это работает.
Это способ отправки информации с веб-страницы в ваше всплывающее окно