zoukankan      html  css  js  c++  java
  • javascript 获取页面高度(多种浏览器)(转)

    <script>
    
    function getInfo()
    
    {
    
        var s = "";
    
        s += " 网页可见区域宽:"+ document.body.clientWidth;
    
        s += " 网页可见区域高:"+ document.body.clientHeight;
    
        s += " 网页可见区域宽:"+ document.body.offsetWidth + " (包括边线和滚动条的宽)";
    
        s += " 网页可见区域高:"+ document.body.offsetHeight + " (包括边线的宽)";
    
        s += " 网页正文全文宽:"+ document.body.scrollWidth;
    
        s += " 网页正文全文高:"+ document.body.scrollHeight;
    
        s += " 网页被卷去的高(ff):"+ document.body.scrollTop;
    
        s += " 网页被卷去的高(ie):"+ document.documentElement.scrollTop;
    
        s += " 网页被卷去的左:"+ document.body.scrollLeft;
    
        s += " 网页正文部分上:"+ window.screenTop;
    
        s += " 网页正文部分左:"+ window.screenLeft;
    
        s += " 屏幕分辨率的高:"+ window.screen.height;
    
        s += " 屏幕分辨率的宽:"+ window.screen.width;
    
        s += " 屏幕可用工作区高度:"+ window.screen.availHeight;
    
        s += " 屏幕可用工作区宽度:"+ window.screen.availWidth;
    
        s += " 你的屏幕设置是 "+ window.screen.colorDepth +" 位彩色";
    
        s += " 你的屏幕设置 "+ window.screen.deviceXDPI +" 像素/英寸";
    
        //alert (s);
    
    }
    
    getInfo();
    
    </script>


     

    在我本地测试当中:
    
    在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的标准在作怪啊
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "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高)
    

    真是一件麻烦事情,其实就开发来看,宁可少一些对象和方法,不使用最新的标准要方便许多啊。

  • 相关阅读:
    埃尔多安回击“穆斯林都是恐怖分子”:坏人也可能是基督徒或犹太人
    通信行业并非那么”腹黑“
    苹果无人驾驶技术专家遭大众挖角
    数据结构之数组定义及基本操作(转)
    LCD浮点数显示函数的探讨
    C 数据类型
    C 基本语法
    C 标准库
    C 语言实例
    C 语言实例
  • 原文地址:https://www.cnblogs.com/quanhai/p/1712834.html
Copyright © 2011-2022 走看看