这是我非常简单的代码:
document.addEventListener("DOMContentLoaded", function() {
console.log('Your document is ready!');
});
我将其粘贴到浏览器的开发者控制台中。但是,它不记录任何内容。谁能帮我找出为什么会发生这种情况吗?
执行脚本后我得到的只是未定义
。如果我删除加载包装器,相同的代码将起作用。
console.log('Your document is ready!');
我想在 Tampermonkey 中运行脚本。这是原始脚本:
document.addEventListener("DOMContentLoaded", function(){
document.querySelector("._3xiuDJ ._52MoHd").innerHTML = 'Test';
});
对于 DOM load 事件,它不执行任何操作。如果没有 DOM 加载事件,我会收到以下错误:
document.querySelector(...) is null
如果我像这样直接将其粘贴到开发者控制台中,
document.querySelector("._3xiuDJ ._52MoHd").innerHTML = 'Test';
它工作得很好。
如果我把它放在 Tampermonkey 脚本中。它给了我上面的空错误。如果我将它放在 Tampermonkey 脚本的包装器内,它不会执行任何操作。
谢谢。
最佳答案
在你的脚本头中有@run-at命令吗?如果有,请将其删除。
我能想到的唯一一件事是,您尝试访问的 HTML 部分是在 DOM 加载后动态加载的,这就是为什么您无法立即获取它。
- 安迪 8 月 11 日 11:57
关于javascript - JavaScript 中的 DOMContentLoaded 事件未触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57449635/