Мое расширение - Refresher
, я хочу поместить Refresher в контекст задачи, например AdGuard AdBlocker
.
manifest. json
{
"name": "Refresher",
"version": "1.0",
"manifest_version": 2,
"content_scripts": [
{
"matches": ["<all_urls>"],
"js": ["content.js"]
}
],
"browser_action": {
/*"default_popup": "popup.html",*/
"default_title": "Counter"
},
"permissions": [
"activeTab",
"contextMenus",
"storage"
],
"background": {
"scripts": ["background.js"]
}
}
content. js
console.log("context started...")
chrome.runtime.onMessage.addListener(gotMessage);
function gotMessage(message, sender, sendResponse) {
console.log("Clicked received : "+message);
//const cnt = document.getElementById("root").getElementsByTagName("rect").length;
const cnt = document.getElementById("component-c332").getElementsByTagName("span").length;
alert("Count is: "+cnt);
}
Я хочу сделать это, потому что я получаю Error in event handler: TypeError: Cannot read property 'getElementsByTagName' of null
эту ошибку, пока выполняет код document.getElementById("component-c332").getElementsByTagName("span").length
с использованием расширения Refresher
, но когда я выполняю этот код в консоли, если контекст javaScritp
находится в верхней части, он показывает то же сообщение об ошибке, но когда я установил его на task
, тогда он успешно выполняется.
Пожалуйста, помогите мне с этим. Спасибо.