zoukankan      html  css  js  c++  java
  • 浏览器可视区域、页面实际宽度、高度

    测试浏览器傲游2(ie6内核)、火狐4、google8.0(分标率1280)

    一、浏览器可视区域-宽和高
    可视区域就是不包括上下左右的工具栏、状态栏(滚动条特殊)。代码:

    var pageWidth = document.documentElement.clientWidth,
    pageHeight = document.documentElement.clientHeight;

    可视宽:ie中竖向滚动条影响pageWidth的值。就拿1280分辨率(窗口最大化情况)来举例,ie浏览器下pageWidth的值是1261(减去了滚动条的宽),而火狐和谷歌浏览器下pageWidth是1280。ie默认是有滚动条的(即使内容没超1屏),而火狐和webkit内核默认没有竖向滚动条。即使有了滚动条,火狐和谷歌浏览器中pageWidth值依然是1280;
    可视高:由于浏览器工具栏和状态栏高度可能不一样,所以pageHeight的值不一样很正常(页面基本不出现横向滚动条,滚动条影响可以不考虑)。

    二、页面内容-宽和高



    var contWidth = document.documentElement.scrollWidth,
    contHeight = document.documentElement.scrollHeight;

    1.没有滚动条情况下:
    内容宽:无论内容宽度有没有填满浏览器的宽,contWidth和pageWidth一样;
    内容高:在火狐浏览器,contHeight不管内容多高都和pageHeight值相等,但在另外2个浏览器下是内容实际高度,假如只有2行文字,那么可能是38px高。
    2.在有滚动条情况下:
    内容宽:contWidth在3个浏览器下相等,假如有个div宽是1400px,那这个值就是1400px;
    内容高:contHeight在3个浏览器下相等。

    三、页面实际宽高

    var sWidth = contWidth,
    sHeight = Math.max(pageHeight, contHeight);

    实际宽:由于contWidth的值总都大于等于pageWidth,取contWidth即可;
    实际高:没有竖向滚动条时候取pageHeight,反之取contHeight,两者取其大即可。

  • 相关阅读:
    G
    O
    M
    K-Hero
    J
    G
    F
    Codeforces Round #327 (Div. 2) A Wizards' Duel (水题)
    C++各大有名科学计算库(转)
    矩阵算法 高斯消元 行列式 矩阵的秩
  • 原文地址:https://www.cnblogs.com/bianyuan/p/2356222.html
Copyright © 2011-2022 走看看