我是开发Chrome扩展程序的初学者,我遇到以下问题:
如何为当前打开的页面执行脚本?我想用background.html
来做。我已经尝试过了
document.addEventListener('DOMContentLoaded', exec_fun);
或
window.addEventListener('DOMContentLoaded', exec_fun);
并在backgroung.html
中注册了manifest.json
来执行exec_fun()
功能,但它无效。我做错了什么?
答案 0 :(得分:1)
如果您希望在每个页面上运行脚本,则应编写内容脚本: http://code.google.com/chrome/extensions/content_scripts.html
内容脚本在页面内运行,因此您可以访问其DOM并使用其事件。
另一方面,background.html仅在扩展启动时运行一次(通常在浏览器打开时),并且它独立于任何选项卡或页面。它是您的扩展“运营基地”。这不是您想要放置脚本的地方,除了您使用侦听器捕获onUpdated的每个页面更改,每次选项卡的URL更改时都会触发:
http://code.google.com/chrome/extensions/tabs.html#event-onUpdated
“并在manifest.json中注册了backgroung.html以执行exec_fun()函数”
你是怎么做到的?我认为这没有办法。