干熟妇在线视频午夜剧场一级A级|99成人香视频日本两性激情视频|久久 午夜福利无码精品人妻一区|热久久超碰精品精品少妇一区二区|五月天综合在线国产一区免费视频|亚洲成人中心热re久久99|亚洲国产怡红院丁香五月综合h|玖玖九久久久午夜射精视频

十年專注于品牌網(wǎng)站建設(shè) 十余年專注于網(wǎng)站建設(shè)_小程序開發(fā)_APP開發(fā),低調(diào)、敢創(chuàng)新、有情懷!
南昌百恒網(wǎng)絡(luò)微信公眾號(hào) 掃一掃關(guān)注
小程序
tel-icon全國(guó)服務(wù)熱線:400-680-9298,0791-88117053
掃一掃關(guān)注百恒網(wǎng)絡(luò)微信公眾號(hào)
掃一掃打開百恒網(wǎng)絡(luò)微信小程序

百恒網(wǎng)絡(luò)

南昌百恒網(wǎng)絡(luò)

跨瀏覽器窗口大小兼容js及innerWidth、innerHeight、outerWidth和outerHeight屬性

百恒網(wǎng)絡(luò) 2013-04-29 12746

跨瀏覽器確定一個(gè)窗口的大小不是一件簡(jiǎn)單的事。Firefox.Safari.Opera和Chrome均為此提供了4個(gè)屬性:innerWidth、innerHeight、 outerWidth和outerHeight。在Safari和Firefox中,outerWidth和outerHeight返回瀏覽器窗口本身的尺寸(無論是從最外層的window對(duì)象還是從某個(gè)框架訪問)。在Opera中,這兩個(gè)屬性的值表示頁(yè)面視圖容器①的大小。而innerWidth和innerHeight則表示該容器中頁(yè)面視圖區(qū)的大小(減去邊框?qū)挾?。在Chrome中,outerWidth.outerHeight與innerWidth,innerHeight返回相同的值,即視口(viewport)大小而非瀏覽器窗口大小。

IE沒有提供取得當(dāng)前瀏覽器窗口尺寸的屬性;不過,它通過DOM提供了頁(yè)面可見區(qū)域的相關(guān)信息。

在IE以及Firefox、Safari、Opera和Chrome中,document.documentElement.clientWidth和

document.documentElement.clientHeight中保存了頁(yè)面視口的信息。在IE6中,這些屬性必須在標(biāo)準(zhǔn)模式下才有效;如果是混雜模式,就必須通過do crunent.body.clientWidth和document.body.clientHeight取得相同信息。而對(duì)于混雜模式下的Chrome,則無論通過docurnent.documentElement還是document.body中的clientWidth和clientHeight屬性,都可以取得視口的大小。

雖然最終無法確定瀏覽器窗口本身的大小,但卻可以取得頁(yè)面視口的大小,如下所示:

var pageWidth=window.innerWidth,

pageHeight=window.innerHeight;

if ( typeof pageWidth !="number")t

if ( document.compatMode== "CSSICompat"){

pageWidth=document.documentElement.clientWidth;

pageHeight=document.documentElement.clientHeight;

} else{

pageWidth=document.body.clientWidth;

pageHeight=document.body.clientHeight;

}

}

在以上代碼中,我們首先將window.innerWidth和window.innerHeight的值分別賦給了pageWidth和pageHeight。然后檢查pageWidth中保存的是不是一個(gè)數(shù)值;南昌網(wǎng)站設(shè)計(jì)公司技術(shù)認(rèn)為如果不是,則通過檢查document.compatMode來確定頁(yè)面是否處于標(biāo)準(zhǔn)模式。如果是,則分別使用document.documentElement.clientWidth和document.documentElement.clientHeight的直。否則,就使用document.body.clientWidth和document.body.clientHeight的值。

另外,使用resizeTo()和resizeBy()方法可以調(diào)整瀏覽器窗口的大小。這兩個(gè)方法都接收兩個(gè)參數(shù),其中resizeTo()接收瀏覽器窗口的新寬度和新高度,而resizeBy()接收新窗口與原窗口的寬度和高度之差。來看下面的例子:

//調(diào)整到100×100

window.resizeTo(100,100);

//調(diào)整到200 x150

window.resizeBy(IOO,50);

//調(diào)整到300x300

window.resizeTo(300,300);

南昌網(wǎng)絡(luò)公司工程師提醒廣大站長(zhǎng)需要注意的是,這兩個(gè)方法與移動(dòng)窗口位置的方法類似,也有可能被瀏覽器禁用;而且,在Opera和IE 7(及更高版本)中默認(rèn)就是禁用的。另外,這兩個(gè)方法同樣不適用于框架,而只能對(duì)最外層的 window對(duì)象使用。

①這里所謂的“頁(yè)面視圖容器”指的是Opera中單個(gè)標(biāo)簽頁(yè)對(duì)應(yīng)的瀏覽器窗口。

本文僅限內(nèi)部技術(shù)人員學(xué)習(xí)交流,不得作于其他商業(yè)用途.文章出自:南昌網(wǎng)站建設(shè)公司-百恒網(wǎng)絡(luò) http://www.myforexfactory.net 如轉(zhuǎn)載請(qǐng)注明出處!


400-680-9298,0791-88117053
掃一掃關(guān)注百恒網(wǎng)絡(luò)微信公眾號(hào)
掃一掃打開百恒網(wǎng)絡(luò)小程序

歡迎您的光顧,我們將竭誠(chéng)為您服務(wù)×

售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售后服務(wù) 售后服務(wù)
 
售后服務(wù) 售后服務(wù)
 
備案專線 備案專線
 
×
江油市| 威宁| 偃师市| 宽城| 涟源市| 西盟| 积石山| 麻阳| 敦化市| 哈密市| 金阳县| 中阳县| 张北县| 株洲市| 郸城县| 陕西省| 鹤山市| 通城县| 越西县| 射阳县| 博罗县| 丹棱县| 和林格尔县| 固始县| 桓台县| 泰顺县| 磐石市| 普宁市| 吉安县| 万宁市| 兰州市| 迁安市| 盐池县| 屏东县| 新竹县| 梁河县| 海门市| 平和县| 万山特区| 堆龙德庆县| 长寿区|