[英]Extension notification when there is change in browser window size
我已經開發了Firefox擴展,每當瀏覽器窗口大小發生變化時都需要通知。
我使用了gBrowser.addeventListener("resize",my_funcion,false);
在我的擴展名.js文件中。 但是,當您通過拖動更改瀏覽器窗口大小時,這將非常頻繁地得到通知。 在調整大小之后 , 而不是在調整大小期間 ,我需要window參數的最終值。
我應該注冊哪個活動來做到這一點?
gBrowser.addeventListener("resize",
將調整大小的偵聽器附加到窗口或tabbrowser?我一直認為gBrowser
是tabbrowser元素的快捷方式。
當我不得不聽窗口調整大小事件時,隊列系統似乎是最好的選擇,例如
var queue=0;
var chromeWinOuterHeight;
var timer = Components.classes["@mozilla.org/timer;1"].createInstance(Components.interfaces.nsITimer);
function chromeWinResize(e){
queue++;
timer.initWithCallback(function(){
if(queue>1){
queue--;
}
else if(chromeWinOuterHeight !== e.target.outerHeight){
//do stuff
}
chromeWinOuterHeight = e.target.outerHeight;
}, 500, Components.interfaces.nsITimer.TYPE_ONE_SHOT);
};
chromeWindow.addEventListener('resize',chromeWinResize,false);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.