1. 程式人生 > >javascript——視窗大小和視口大小

javascript——視窗大小和視口大小

視窗大小和視口大小的問題

IE9+、FireFox、Safari、Opera和Chrome提供了4個屬性 innerWidth、outerWidth、innerHeight、outHeight

但是IE9+、Safari、FireFox中outerWidth和outerHeight返回瀏覽器視窗本身的尺寸(無論是從最外層window物件,還是某個框架訪問)。在Opera中在兩個值表示頁面檢視容器的大小。而innerWidth、innerHeight表示容器中頁面檢視區域的大小(減去邊框高度)。

Chrome中,outerWidth(Height)和innerWidth(Height)返回相同的值,都返回視口的大小。

IE8及更早的版本中沒有提供取得當前視窗尺寸的屬性;不過可以通過DOM獲得頁面可見區域的相關資訊。

在IE、FireFox、Safari、Opera和Chrome中 

document.documentElement.clientWidth和document.documentElement.clientHeight提供了頁面視口的資訊。

在IE6中這些屬性必須在標準模式下才有效,如果是混雜模式據必須通過document.body.clientWidth和document.body.clientHeight取得相同的資訊。

處於混雜模式下的Chrome這兩種方式都能取得視口的大小。

對於移動裝置******************************

window.innerWidth和window.innerHeight儲存著可見視口(螢幕上可見區域的大小),移動IE瀏覽器不支援這些屬性,但通過document.documentElement.clientWidth和document.documentElement.clientHeight提供了相同的資訊,隨著頁面的變化,這些值也會相應變化。

在其他移動瀏覽器中,document.documentElement度量的是佈局視口,即渲染後頁面的實際大小(可見視口是整個頁面中的一部分),移動IE瀏覽器把佈局視口的資訊儲存在document.body.clientWidth和document.body.clientHeight中,這些值不會隨著頁面縮放而變化。