js獲取瀏覽器基本信息大全

字號:


    網(wǎng)頁可見區(qū)域?qū)挘篸ocument.body.clientWidth
    網(wǎng)頁可見區(qū)域高:document.body.clientHeight
    網(wǎng)頁可見區(qū)域?qū)挘篸ocument.body.offsetWidth (包括邊線的寬)
    網(wǎng)頁可見區(qū)域高:document.body.offsetHeight (包括邊線的寬)
    網(wǎng)頁正文全文寬:document.body.scrollWidth
    網(wǎng)頁正文全文高:document.body.scrollHeight
    網(wǎng)頁被卷去的高:document.body.scrollTop
    網(wǎng)頁被卷去的左:document.body.scrollLeft
    網(wǎng)頁正文部分上:window.screenTop
    網(wǎng)頁正文部分左:window.screenLeft
    屏幕分辨率的高:window.screen.height
    屏幕分辨率的寬:window.screen.width
    屏幕可用工作區(qū)高度:window.screen.availHeight
    屏幕可用工作區(qū)寬度:window.screen.availWidth
    HTML精確定位:scrollLeft,scrollWidth,clientWidth,offsetWidth
    scrollHeight: 獲取對象的滾動高度。
    scrollLeft:設(shè)置或獲取位于對象左邊界和窗口中目前可見內(nèi)容的最左端之間的距離
    scrollTop:設(shè)置或獲取位于對象最頂端和窗口中可見內(nèi)容的最頂端之間的距離
    scrollWidth:獲取對象的滾動寬度
    offsetHeight:獲取對象相對于版面或由父坐標 offsetParent 屬性指定的父坐標的高度
    offsetLeft:獲取對象相對于版面或由 offsetParent 屬性指定的父坐標的計算左側(cè)位置
    offsetTop:獲取對象相對于版面或由 offsetTop 屬性指定的父坐標的計算頂端位置
    event.clientX 相對文檔的水平座標
    event.clientY 相對文檔的垂直座標
    event.offsetX 相對容器的水平坐標
    event.offsetY 相對容器的垂直坐標
    document.documentElement.scrollTop 垂直方向滾動的值
    event.clientX+document.documentElement.scrollTop 相對文檔的水平座標+垂直方向滾動的量
    IE,F(xiàn)ireFox 差異如下:
    IE6.0、FF1.06+:
    clientWidth = width + padding
    clientHeight = height + padding
    offsetWidth = width + padding + border
    offsetHeight = height + padding + border
    IE5.0/5.5:
    clientWidth = width - border
    clientHeight = height - border
    offsetWidth = width
    offsetHeight = height
    (需要提一下:CSS中的margin屬性,與clientWidth、offsetWidth、clientHeight、offsetHeight均無關(guān))
    -------------------
    技術(shù)要點
    本節(jié)代碼主要使用了Document對象關(guān)于窗口的一些屬性,這些屬性的主要功能和用法如下。
    要得到窗口的尺寸,對于不同的瀏覽器,需要使用不同的屬性和方法:若要檢測窗口的真實尺寸,在Netscape下需要使用Window的屬性;在 IE下需要深入Document內(nèi)部對body進行檢測;在DOM環(huán)境下,若要得到窗口的尺寸,需要注意根元素的尺寸,而不是元素。
    Window對象的innerWidth屬性包含當前窗口的內(nèi)部寬度。Window對象的innerHeight屬性包含當前窗口的內(nèi)部高度。
    Document對象的body屬性對應(yīng)HTML文檔的標簽。Document對象的documentElement屬性則表示HTML文檔的根節(jié)點。
    document.body.clientHeight表示HTML文檔所在窗口的當前高度。document.body. clientWidth表示HTML文檔所在窗口的當前寬度。
    關(guān)于獲取各種瀏覽器可見窗口大小的一點點研究。
    在我本地測試當中:在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的標準在作怪啊">
    如果在頁面中添加這行標記的話
    在IE中:document.body.clientWidth ==> BODY對象寬度
    document.body.clientHeight ==> BODY對象高度
    document.documentElement.clientWidth ==> 可見區(qū)域?qū)挾?BR>    document.documentElement.clientHeight ==> 可見區(qū)域高度
    在FireFox中:document.body.clientWidth ==> BODY對象寬度
    document.body.clientHeight ==> BODY對象高度
    document.documentElement.clientWidth ==> 可見區(qū)域?qū)挾?BR>    document.documentElement.clientHeight ==> 可見區(qū)域高度?
    在Opera中: document.body.clientWidth ==> 可見區(qū)域?qū)挾?BR>    document.body.clientHeight ==> 可見區(qū)域高度
    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高)
    真是一件麻煩事情,其實就前端設(shè)計開發(fā)來看,寧可少一些對象和方法,不使用最新的標準要方便許多啊。但是跟不上潮流就永遠做不了一個高級設(shè)計師,所以這些知識我們還是必須要理解和熟練掌握的。