javascript - 将事件侦听器添加到页面 Chrome 扩展上的按钮
问题描述
在content.js
中,我正在尝试将事件侦听器添加到页面上的按钮,但我不断收到此错误:
Uncaught TypeError: Cannot read properties of null (reading 'addEventListener')
我试图把它放进去,document.addEventListener('DOMContentLoaded',afterDOMLoaded);
但从来没有在脚本中DOMContentLoaded
触发。content.js
如何将事件侦听器添加到页面上的按钮?
解决方案
你应该展示你的 content.js 是如何执行的。
DOMContentLoaded
也许,当您的脚本被注入时,该页面已经存在。注入时间可以在清单文件中指定。如果您的清单文件如下,则您的 content.js在事件触发后立即window.onload
注入,即在DOMContentLoaded
. 请参阅https://developer.chrome.com/docs/extensions/mv3/content_scripts/。
"content_scripts": [
{
"matches": ["https://*/*"],
"run_at": "document_idle",
"js": ["content.js"]
}
如果你的 manifest 像上面那样,你不需要事件监听器,只需要在 content.js 脚本中编写代码。
推荐阅读
- html - 仅使用 CSS 完全删除 HTML 元素?
- html - flex 和 height 属性有什么区别?
- javascript - 保存时刻以用作 React-Big-Calendar 中的事件
- c# - 为什么我的 RichTextBox 没有更改前景色数据绑定
- c# - 将函数应用于列表的某些元素
- java - 过时的 Java 小程序
- r - 如何在线性模型的两侧制作对数函数
- android - `android:breadCrumbShortTitle` 和 `android:breadCrumbTitle` 的区别
- python - 在python中循环名称列表的更有效方法
- java - Java List.add() 方法添加一个可修改的对象