JavaScript 可以工作,但是当网站重新加载时,有时 javascript 在 chrome

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");

我不认为这段代码是错误的,而且我知道它会一直运行。


猛跑小猪
浏览 142回答 2
2回答

繁花不似锦

我的代码在控制台中工作时遇到了类似的问题,但在刷新时却没有。对我来说,问题是我正在访问页面中的一个框架。但是我无意中注意到,在 Javascript 上下文中(找不到关于此的太多信息),如果您每次都在正确的上下文下运行代码,则不会出现此问题。如果这是您遇到的问题,但是当我尝试从控制台和扩展程序执行我的代码时很常见。

饮歌长啸

尝试在网站完全加载时执行代码window.onload = function() {  const articles = document.querySelectorAll(  "#container.article>.articles>article");};
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript