首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >浏览器窗口大小更改时的扩展通知

浏览器窗口大小更改时的扩展通知
EN

Stack Overflow用户
提问于 2012-07-28 09:32:35
回答 1查看 114关注 0票数 0

我已经开发了一个Firefox扩展,当浏览器窗口大小发生变化时,需要通知它。

我在扩展名为.js的文件中使用了.js。但是,当您通过拖动更改浏览器窗口大小时,会经常通知这一点。在调整大小之后,我需要窗口参数的最终值,而不是在调整大小期间。

我应该注册哪个事件来做这个?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-07-28 17:11:30

gBrowser.addeventListener("resize",是否将调整大小的侦听器附加到窗口或表浏览器?我一直认为gBrowser是tabbrowser元素的快捷方式。

当我不得不听窗口调整大小的事件时,队列系统似乎是最好的选择。

代码语言:javascript
运行
复制
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);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11699862

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档