天天看點

js擷取浏覽器高度和寬度值,盡量的考慮了多浏覽器。(轉)

js擷取浏覽器高度和寬度值,盡量的考慮了多浏覽器。(轉)

IE中: 

document.body.clientWidth ==> BODY對象寬度 

document.body.clientHeight ==> BODY對象高度 

document.documentElement.clientWidth ==> 可見區域寬度 

document.documentElement.clientHeight ==> 可見區域高度 

FireFox中: 

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寬) 

Opera為: 

網頁可見區域寬: document.body.clientWidth 

網頁可見區域高: document.body.clientHeight 

網頁可見區域寬: document.body.offsetWidth (包括邊線的寬) 

網頁可見區域高: document.body.offsetHeight (包括邊線的高) 

網頁正文全文寬: document.body.scrollWidth 

網頁正文全文高: document.body.scrollHeight 

網頁被卷去的高: document.body.scrollTop 

網頁被卷去的左: document.body.scrollLeft 

網頁正文部分上: window.screenTop 

網頁正文部分左: window.screenLeft 

螢幕分辨率的高: window.screen.height 

螢幕分辨率的寬: window.screen.width 

螢幕可用工作區高度: window.screen.availHeight 

螢幕可用工作區寬度: window.screen.availWidth 

HTML精确定位:scrollLeft,scrollWidth,clientWidth,offsetWidth 

scrollHeight: 擷取對象的滾動高度。 

scrollLeft:設定或擷取位于對象左邊界和視窗中目前可見内容的最左端之間的距離 

scrollTop:設定或擷取位于對象最頂端和視窗中可見内容的最頂端之間的距離 

scrollWidth:擷取對象的滾動寬度 

offsetHeight:擷取對象相對于版面或由父坐标 offsetParent 屬性指定的父坐标的高度 

offsetLeft:擷取對象相對于版面或由 offsetParent 屬性指定的父坐标的計算左側位置 

offsetTop:擷取對象相對于版面或由 offsetTop 屬性指定的父坐标的計算頂端位置 

event.clientX 相對文檔的水準座标 

event.clientY 相對文檔的垂直座标 

event.offsetX 相對容器的水準坐标 

event.offsetY 相對容器的垂直坐标 

document.documentElement.scrollTop 垂直方向滾動的值 

event.clientX+document.documentElement.scrollTop 相對文檔的水準座标+垂直方向滾動的量 

實作代碼 

複制代碼代碼如下:

< !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

<html xmlns="http://www.w3.org/1999/xhtml"> 

<head> 

<title>請調整浏覽器視窗</title> <meta http-equiv="content-type" content="text/html; charset=gb2312"> 

</meta></head> 

<body> 

<h2 align="center">請調整浏覽器視窗大小</h2><hr /> 

<form action="#" method="get" name="form1" id="form1"> 

<!--顯示浏覽器視窗的實際尺寸--> 

浏覽器視窗 的 實際高度: <input type="text" name="availHeight" size="4"/><br /> 

浏覽器視窗 的 實際寬度: <input type="text" name="availWidth" size="4"/><br /> 

</form> 

<script type="text/javascript"> 

<!-- 

var winWidth = 0; 

var winHeight = 0; 

function findDimensions() //函數:擷取尺寸 

//擷取視窗寬度 

if (window.innerWidth) 

winWidth = window.innerWidth; 

else if ((document.body) && (document.body.clientWidth)) 

winWidth = document.body.clientWidth; 

//擷取視窗高度 

if (window.innerHeight) 

winHeight = window.innerHeight; 

else if ((document.body) && (document.body.clientHeight)) 

winHeight = document.body.clientHeight; 

//通過深入Document内部對body進行檢測,擷取視窗大小 

if (document.documentElement && document.documentElement.clientHeight && document.documentElement.clientWidth) 

winHeight = document.documentElement.clientHeight; 

winWidth = document.documentElement.clientWidth; 

//結果輸出至兩個文本框 

document.form1.availHeight.value= winHeight; 

document.form1.availWidth.value= winWidth; 

findDimensions(); 

//調用函數,擷取數值 

window.onresize=findDimensions; 

//--> 

</script> 

</body> 

</html> 

繼續閱讀