簡體   English   中英

瀏覽器窗口大小更改時的擴展程序通知

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM