首页 > 解决方案 > 将事件侦听器添加到页面 Chrome 扩展上的按钮

问题描述

content.js中,我正在尝试将事件侦听器添加到页面上的按钮,但我不断收到此错误:

Uncaught TypeError: Cannot read properties of null (reading 'addEventListener')

我试图把它放进去,document.addEventListener('DOMContentLoaded',afterDOMLoaded);但从来没有在脚本中DOMContentLoaded触发。content.js如何将事件侦听器添加到页面上的按钮?

标签: javascriptgoogle-chrome-extension

解决方案


你应该展示你的 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 脚本中编写代码。


推荐阅读