0

ブラウザのウィンドウサイズが変更されたときに通知する必要があるFirefox拡張機能を開発しました。

gBrowser.addeventListener("resize",my_funcion,false); 拡張子の.jsファイルで使用しました。ただし、ドラッグしてブラウザのウィンドウサイズを変更すると、これが頻繁に通知されます。サイズ変更中ではなく、サイズ変更が行われた後のウィンドウパラメータの最終値が必要です。

これを行うには、どのイベントを登録する必要がありますか?

4

1 に答える 1

1

gBrowser.addeventListener("resize",サイズ変更リスナーをウィンドウまたはタブブラウザにアタッチしますか?私はいつもgBrowserタブブラウザ要素へのショートカットだと思っていました。

ウィンドウのサイズ変更イベントをリッスンする必要があったとき、キューシステムは最良のオプションのように見えました。

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);
于 2012-07-28T17:11:30.003 に答える