我正在尝试学习如何制作 Firefox 扩展。我想创建一个只显示在特定页面上的工具栏。我可以使工具栏出现,但是当我打开或切换到新选项卡或关闭具有该特定页面的选项卡时,它应该被隐藏。不过,我不明白如何使visibilitychange
活动正常进行,无论我尝试什么,都没有任何反应。
window.addEventListener("load", function load(event){
window.removeEventListener("load", load, false);
myExtension.init();
},false);
var myExtension = {
init: function (aEvent) {
gBrowser.addEventListener("DOMContentLoaded", this.showToolbar, false);
},
showToolbar: function(aEvent) {
var doc = aEvent.originalTarget;
if(doc.location.href=="http://www.google.ca/"){
eToolbar=document.getElementById("nav-toolbar");
eToolbar.hidden=false;
//no matter how I change this line below it never does anything
gBrowser.addEventListener("mozvisibilitychange", this.toggleToolbar, false);
}
},
toggleToolbar: function(aEvent) {
eToolbar=document.getElementById("nav-toolbar");
if(document["mozVisibilityState"]=="mozHidden"){
eToolbar.hidden=true;
} else {
eToolbar.hidden=false;
}
}
}