麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > JavaScript > 正文

IE與FF下javascript獲取網頁及窗口大小的區別詳解

2019-11-20 21:15:32
字體:
來源:轉載
供稿:網友

在新定義出來的標準下 document.documentElement.clientHeight在IE和火狐里都能獲取正確值,下面一篇文章詳細介紹了獲取各種瀏覽器可見窗口大小這方面的差別:

<script language="javascript">
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

<!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高)

假設 obj 為某個 HTML 控件。

obj.offsetTop 指 obj 距離上方或上層控件的位置,整型,單位像素。

obj.offsetLeft 指 obj 距離左方或上層控件的位置,整型,單位像素。

obj.offsetWidth 指 obj 控件自身的寬度,整型,單位像素。

obj.offsetHeight 指 obj 控件自身的高度,整型,單位像素。

我們對前面提到的“上方或上層”與“左方或上層”控件作個說明。

例如:
<div id="tool">
      <input type="button" value="提交">
      <input type="button" value="重置">
</div>

“提交”按鈕的 offsetTop 指“提交”按鈕距“tool”層上邊框的距離,因為距其上邊最近的是 “tool” 層的上邊框。
“重置”按鈕的 offsetTop 指“重置”按鈕距“tool”層上邊框的距離,因為距其上邊最近的是 “tool” 層的上邊框。

“提交”按鈕的 offsetLeft 指“提交”按鈕距“tool”層左邊框的距離,因為距其左邊最近的是 “tool” 層的左邊框。
“重置”按鈕的 offsetLeft 指“重置”按鈕距“提交”按鈕右邊框的距離,因為距其左邊最近的是“提交”按鈕的右邊框。


offsetTop 可以獲得 HTML 元素距離上方或外層元素的位置,style.top 也是可以的,二者的區別是:

一、offsetTop 返回的是數字,而 style.top 返回的是字符串,除了數字外還帶有單位:px。

二、offsetTop 只讀,而 style.top 可讀寫。

三、如果沒有給 HTML 元素指定過 top 樣式,則 style.top 返回的是空字符串。

offsetLeft 與 style.left、offsetWidth 與 style.width、offsetHeight 與 style.height 也是同樣道理。

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 相對文檔的水平座標+垂直方向滾動的量 

以上主要指IE之中,FireFox差異如下:
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均無關)

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 免费视频a | 老师你怎么会在这第2季出现 | 亚州综合网 | 色欧美视频 | 久久精品男人 | 3344永久免费 | 1314av| 久久99精品久久久久久园产越南 | www.69色| 午夜视频在线观 | 免费一级高清毛片 | 欧美日韩专区国产精品 | 精品一区二区三区在线观看视频 | 亚洲成a人在线 | 91 免费看片 | 国产伦精品一区二区三区在线 | 成人黄色小视频网站 | 高清国产福利 | 日本黄色大片免费 | 精品久久久久久久久久中文字幕 | 国产精品99久久久久久久女警 | 国产精品视频亚洲 | 蜜桃视频在线免费播放 | 国产二区三区在线播放 | 午夜精品成人 | www.成人免费 | 久久国产不卡 | 一区二区三区国产视频 | 亚洲精品一区二区三区在线看 | 黄色的视频免费观看 | 91嫩草丨国产丨精品入口 | 国产成人aⅴ | 天天色综合2 | 久久精品欧美电影 | 日本中文字幕高清 | 国产精品久久二区 | 99日韩精品视频 | 毛片在线视频免费观看 | 精品一区二区三区在线观看国产 | av在线成人 | 中文字幕精品一区久久久久 |