0

我是开发 Chrome 扩展程序的初学者,遇到以下问题:

如何为当前打开的页面执行脚本?我想使用background.html. 我已经尝试运行

document.addEventListener('DOMContentLoaded', exec_fun);

或者

window.addEventListener('DOMContentLoaded', exec_fun);

并且还注册backgroung.htmlmanifest.json执行该exec_fun()功能,但它不起作用。我究竟做错了什么?

4

1 回答 1

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() 函数”

你是怎么做到的?我认为那不是办法。

于 2012-05-21T11:40:15.137 回答