我做了一个小的chrome扩展,在当前页面中注入了一些代码。 这个扩展有一个奇怪的行为,每当注入代码时,页面的javascript触发器似乎都不再起作用。 你们其中一个人是否知道会发生什么?在修复代码的顶部,我真的很想知道为什么会这样。 例子:在这个页面上:http://www.acti.fr/success-story/ghd/如果扩展名注入图片,我就无法点击菜单或"继续讲课"在底部。
以下是清单和实际代码:
的manifest.json
TextBox
my-script.js:
{
"manifest_version": 2,
"name": "wpi",
"description": "just an other extension",
"version": "1.0",
"content_scripts": [{
"matches": ["http://*/*", "https://*/*"],
"js": ["my-style.js"]
}]
}
任何提示都将受到赞赏:D
谢谢!
答案 0 :(得分:3)
您通过使用+=
追加运算符有效地重新分配文档正文的整个 innerHTML,这会导致重新评估和重新创建整个页面,当然所有以前附加的事件处理程序都不是' t自动重新连接。
改为使用insertAdjacentHTML:
document.body.insertAdjacentHTML("beforeend", wpkm_html);