Javascript 在Firefox扩展中打开从活动选项卡到新选项卡的链接时,在同一选项卡中发生的事件
单击新选项卡或链接时,将调用on_load函数。但我的问题是,如果我们打开从活动选项卡到新选项卡的新链接,新选项卡中支持发生的事件将发生在活动选项卡中,而新选项卡将在后台加载。如果我们打开的链接数量如此之多,则所有事件将发生在活动选项卡中,而不是新选项卡中 我想要的是,事件应该在新选项卡中发生,即使它在后台运行。。Javascript 在Firefox扩展中打开从活动选项卡到新选项卡的链接时,在同一选项卡中发生的事件,javascript,firefox,firefox-addon,addeventlistener,dom-events,Javascript,Firefox,Firefox Addon,Addeventlistener,Dom Events,单击新选项卡或链接时,将调用on_load函数。但我的问题是,如果我们打开从活动选项卡到新选项卡的新链接,新选项卡中支持发生的事件将发生在活动选项卡中,而新选项卡将在后台加载。如果我们打开的链接数量如此之多,则所有事件将发生在活动选项卡中,而不是新选项卡中 我想要的是,事件应该在新选项卡中发生,即使它在后台运行。。 如何识别新选项卡并使事件在新选项卡中发生…(可选=>),而不使新选项卡成为活动选项卡。您没有解释如何在哪个选项卡中检查事件发生,我怀疑您只是查看当前活动的选项卡-如果在后台选项卡中加
如何识别新选项卡并使事件在新选项卡中发生…(可选=>),而不使新选项卡成为活动选项卡。您没有解释如何在哪个选项卡中检查事件发生,我怀疑您只是查看当前活动的选项卡-如果在后台选项卡中加载了某些内容,这当然不起作用。您应该查看
e.target
(加载的文档)并检查它与哪个选项卡对应:
var extension= {
check_domain : function(domain){
//checking the domain name where event should occur........
},
on_load: function(e) {
var doc_event = e.originalTarget;
extension.check_domain(doc_event.location.href);
},
init: function(e) {
if(gBrowser){
gBrowser.addEventListener("DOMContentLoaded", this.on_load, false);
}
} } window.addEventListener( "load", function(e) { extension.init(); }, false);
这将为您提供加载文档的选项卡的
元素(如果加载的文档不是顶级文档,也可能是null
)谢谢,浏览器元素使我的脚本更容易,但我的问题没有解决。。。。。。。应在新选项卡中发生的事件仍在旧选项卡中发生…….请帮助。。
on_load: function(e) {
var doc = e.target;
var browser = gBrowser.getBrowserForDocument(doc);
...
},