如何获得窗口视口大小?

时间:2010-11-01 07:19:29

标签: javascript jquery extjs

我试图获取窗口视口宽度。当我使用 document.documentElement.clientHeight(或)window.innerWidth 时,我可以得到我所需要的。如果我以最小化模式登录,那么如果我最大化窗口,视口宽度将不会调整大小。我在最小化时获得了视口宽度。我怎么能解决它?   我也尝试使用 document.body.clientHeight 。但是这里也有问题。视口大小比我的视口大,因为状态栏。然后我减去状态栏大小,然后我得到了视口size.If我再次在我的窗口中有另一个栏我遇到了同样的问题。   究竟我需要的是如何获得最终用户的视口大小?请帮帮我?

提前致谢

3 个答案:

答案 0 :(得分:4)

来自jQuery docs:

http://api.jquery.com/height/
http://api.jquery.com/width/

$(window).width();   // returns width of browser viewport
$(window).height();   // returns height of browser viewport

答案 1 :(得分:1)

尝试:

$myviewport.getHeight();
$myviewport.getWidth();

myviewport是viewport OBJECT。您也可以使用:

Ext.getCmp('myviewport').getHeight();
Ext.getCmp('myviewport').getWidth();

其中'myviewport'是视口对象的ID。

使用

.getHeight(true);
.getWidth(true);

获取高度/宽度减去填充,边距,边框等。

答案 2 :(得分:1)

由于不同浏览器对此的想法激增,所以要做到这一点是一个令人惊讶的棘手问题。大卫马克(My Library的作者)在这一领域特别强大,撰写了一篇关于这一主题的文章:http://www.cinsoft.net/viewport.asp