1
我在學習如何製作Firefox擴展。我想創建一個只顯示在特定頁面上的工具欄。我可以讓工具欄出現,但是當我打開或切換到新標籤頁時,或者關閉具有特定頁面的標籤頁時,它應該隱藏起來。我不明白如何讓visiblechange事件工作,不管我什麼都不會發生。如何在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;
}
}
}
我覺得'TabSelect'不會捕獲用戶輸入目標地址,或者跟隨它的鏈接。 'pageshow'看起來更有希望。 – paa