JS获取浏览器窗口的大小
发布时间:2015年2月12日 作者:未知 查看次数:1477
JS获取浏览器窗口的大小自:http://www.nowamagic.net/javascript/js_GetBrowserSize.php 获取浏览器当前窗口大小。当浏览器窗口大小变化时,显示的值会随时变化。 程序主要使用了Document对象关于窗口的一些属性,这些属性的主要功能和用法如下:
JavaScript Code
程序实现步骤:
---------------------------------------------------------------------------------------- 全部代码: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <form action="#" method="get" name="form1" id="form1"> <SCRIPT LANGUAGE="JavaScript"> var winWidth = 0;
---------------------------------------------------------------------------------------- 另:http://blog.csdn.net/zjlovety/article/details/6641644 网页可见区域宽:document.body.clientWidth HTML精确定位:scrollLeft,scrollWidth,clientWidth,offsetWidth
IE6.0、FF1.06+: clientWidth = width + padding clientHeight = height + padding offsetWidth = width + padding + border offsetHeight = height + padding + border IE5.0/5.5: clientHeight = height - border offsetWidth = width offsetHeight = height (需要提一下:CSS中的margin属性,与clientWidth、offsetWidth、clientHeight、offsetHeight均无关) 网页可见区域宽: document.body.clientWidth ------------------- 技术要点 要得到窗口的尺寸,对于不同的浏览器,需要使用不同的属性和方法:若要检测窗口的真实尺寸,在Netscape下需要使用Window的属性;在 IE下需要深入Document内部对body进行检测;在DOM环境下,若要得到窗口的尺寸,需要注意根元素的尺寸,而不是元素。 Window对象的innerWidth属性包含当前窗口的内部宽度。Window对象的innerHeight属性包含当前窗口的内部高度。 Document对象的body属性对应HTML文档的标签。Document对象的documentElement属性则表示HTML文档的根节点。 document.body.clientHeight表示HTML文档所在窗口的当前高度。document.body. clientWidth表示HTML文档所在窗口的当前宽度。
关于获取各种浏览器可见窗口大小的一点点研究。 在我本地测试当中:在IE、FireFox、Opera下都可以使用 document.body.clientWidth document.body.clientHeight即可获得,很简单,很方便。 而在公司项目当中:Opera仍然使用 document.body.clientWidth document.body.clientHeight 可是IE和FireFox则使用 document.documentElement.clientWidth document.documentElement.clientHeight 原来是W3C的标准在作怪啊http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 如果在页面中添加这行标记的话 在IE中:document.body.clientWidth ==> BODY对象宽度 document.body.clientHeight ==> BODY对象高度 document.documentElement.clientWidth ==> 可见区域宽度 document.documentElement.clientHeight ==> 可见区域高度 在FireFox中:document.body.clientWidth ==> BODY对象宽度 document.body.clientHeight ==> BODY对象高度 document.documentElement.clientWidth ==> 可见区域宽度 document.documentElement.clientHeight ==> 可见区域高度? 在Opera中: document.body.clientWidth ==> 可见区域宽度 document.body.clientHeight ==> 可见区域高度 document.documentElement.clientWidth ==> 页面对象宽度(即BODY对象宽度加上Margin宽)document.documentElement.clientHeight ==> 页面对象高度(即BODY对象高度加上Margin高) 而如果没有定义W3C的标准, 则IE为:document.documentElement.clientWidth ==> 0 document.documentElement.clientHeight ==> 0 FireFox为:document.documentElement.clientWidth ==> 页面对象宽度(即BODY对象宽度加上Margin宽) document.documentElement.clientHeight ==> 页面对象高度(即BODY对象高度加上Margin高) Opera为:document.documentElement.clientWidth ==> 页面对象宽度(即BODY对象宽度加上Margin宽) document.documentElement.clientHeight ==> 页面对象高度(即BODY对象高度加上Margin高) 真是一件麻烦事情,其实就开发来看,宁可少一些对象和方法,不使用最新的标准要方便许多啊。
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
|