JavaScript работает, но при перезагрузке сайта иногда не работает javascript в расширении chrome - PullRequest
0 голосов
/ 26 сентября 2019

JavaScript работает, но при перезагрузке сайта иногда не работает javascript.Когда javascript не работает, console.log работает, но querySelectorAll не работает.Я изменяю данные, полученные с querySelectorAll, на массив.И когда я делаю console.log, печатается пустой массив.

Я не знаю, как решить эту проблему ....

Части manifest.json

"content_scripts": [
{
    "run_at": "document_idle",
    "matches": ["https://www.something.com/*"],// this url is example
    "css": ["extensionStyle.css"],
    "js": ["Controller.js"]
 }
],

"permissions": ["declarativeContent", "storage", "activeTab", "tabs"]

Части Controller.js

// All the codes in my JavaScript work on this code. 
// When I do console.log it, the empty NodeList is printed.

const articles = document.querySelectorAll(
"#container.article>.articles>article");

Я не думал, что этот код был неправильным, и я знал, что он будет работать всегда.

Ответы [ 2 ]

0 голосов
/ 26 сентября 2019

Попробуйте выполнить код, когда сайт полностью загружен

window.onload = function() {
  const articles = document.querySelectorAll(
  "#container.article>.articles>article");
};
0 голосов
/ 26 сентября 2019

У меня была похожая проблема с моим кодом, работающим в консоли, но не при обновлении.Для меня проблема была в том, что у меня был доступ к фрейму на странице.Но я случайно заметил, что в контексте Javascript (не могу найти много информации об этом), если вы каждый раз запускаете свой код в правильном контексте, у вас не будет этой проблемы.Если это проблема у вас, но очень часто, когда я пытался выполнить свой код из консоли и из расширения.see image

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