我写了一个侧边栏插件:
目前,在以下事件中调用此函数:
但是,有时网页耗时太长,无法触发“加载”事件。因此,我更喜欢的是在发送当前页面的第一个请求后立即调用我的插件功能。
我被告知Progress Listener和Observer可能会有所帮助。我尝试了快速而又脏的Progress-Listener代码,但它没有按预期工作(也许是我的错)。
请求建议/链接/代码示例。提前谢谢。
答案 0 :(得分:1)
正如之前所预期的那样,观察者正是所需要的。我需要做的就是听取“http-on-modify-request”主题并调用自定义方法(基于所需的任何自定义检查)。
示例代码:
var MyAwesomeObserver = {
observe: function(subject, topic, data)
{
if (topic == "http-on-modify-request") {
MyLogger.info('Yosssssssss! '+topic); //customer Logger that uses nsIConsoleService
MyAwesomeObject.notSoAwesomeFunction(); //invoke the custom method here
}
},
get observerService() {
return Components.classes["@mozilla.org/observer-service;1"]
.getService(Components.interfaces.nsIObserverService);
},
register: function(){
this.observerService.addObserver(this, "http-on-modify-request", false);
},
}
MyAwesomeObserver.register();
答案 1 :(得分:0)
首先想到的是'DOMContentLoaded'事件。这应该比我想的“加载”更快,但试试看看。