laz*_*bob 7 javascript firefox
所以..forfor firefox的脚本扩展.它是somelika一个用javascript编写的webspider.我想做的事:
我希望它加载一个页面,他们做一些工作,然后转到另一个页面(使用加载页面中的URL).加载新页面后 - 蜘蛛执行相同的工作.
Algoritm有点像这样:
在我的主要功能中我做这个代码:
gBrowser.addEventListener("DOMContentLoaded",haXahv8, false);
Run Code Online (Sandbox Code Playgroud)
一切正常,直到我转到另一页...我怎么能在我的firefox扩展中重用DOMContentLoaded事件?所以,问题是:是否有可能在firefox扩展中为不同的页面重用load/DOMContentLoaded事件?如果是的话怎么样?
ps \之前我正在用Windows窗体和webbrowser + c ++来解决这个问题...哦,现在是什么时间......一个梦想!因为一切正常=)
Mik*_*ike 11
您只需要注册一次事件,并且每次浏览器选项卡触发它时都应该收到它.
如果您load在向gBrowser元素添加事件侦听器之前等待XUL窗口触发其事件,那么您的代码应该可以正常工作.如果要在此之前添加事件侦听器,则尚未初始化gBrowser,并且行为未定义.
这是一个例子:
window.addEventListener('load', function () {
gBrowser.addEventListener('DOMContentLoaded', function () {
// stuff that happens for each web page load goes here
}, false);
}, false);
Run Code Online (Sandbox Code Playgroud)
请注意,在实践中我只能确定这适用于Firefox 3.5及更高版本.我写了一个扩展(我的公司内部),它为Firefox 1.5到3.5可靠地完成了这种事情,但遗憾的是它比上面的解决方案更加复杂(幸运的是).如果您需要超过Firefox 3.5+的支持,请告诉我,我将提供更多信息.
这是一些额外的阅读:
| 归档时间: |
|
| 查看次数: |
11000 次 |
| 最近记录: |