DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> 關於JavaScript >> 框架:document.compatMode
框架:document.compatMode
編輯:關於JavaScript     

網頁制作poluoluo文章簡介:document.compatMode正好派上用場,它有兩種可能的返回值:BackCompat和CSS1Compat。

今天在看框架的時候無意間看到了document.compatMode,經過一番資料查找,終於搞懂了。

文檔模式在開發中貌似很少用到,最常見的是就是在獲取頁面寬高的時候,比如文檔寬高,可見區域寬高等。

IE對盒模型的渲染在 Standards Mode和Quirks Mode是有很大差別的,在Standards Mode下對於盒模型的解釋和其他的標准浏覽器是一樣,但在Quirks Mode模式下則有很大差別,而在不聲明Doctype的情況下,IE默認又是Quirks Mode。所以為兼容性考慮,我們可能需要獲取當前的文檔渲染方式。

document.compatMode正好派上用場,它有兩種可能的返回值:BackCompat和CSS1Compat。

BackCompat:標准兼容模式關閉。浏覽器客戶區寬度是document.body.clientWidth;CSS1Compat:標准兼容模式開啟。 浏覽器客戶區寬度是document.documentElement.clientWidth。

那麼寫了個准確獲取網頁客戶區的寬高、滾動條寬高、滾動條Left和Top的代碼:

if (document.compatMode == "BackCompat") {
cWidth = document.body.clientWidth;
cHeight = document.body.clientHeight;
sWidth = document.body.scrollWidth;
sHeight = document.body.scrollHeight;
sLeft = document.body.scrollLeft;
sTop = document.body.scrollTop;
}
else { //document.compatMode == "CSS1Compat"
cWidth = document.documentElement.clientWidth;
cHeight = document.documentElement.clientHeight;
sWidth = document.documentElement.scrollWidth;
sHeight = document.documentElement.scrollHeight;
sLeft = document.documentElement.scrollLeft == 0 ? document.body.scrollLeft : document.documentElement.scrollLeft;  
sTop = document.documentElement.scrollTop == 0 ? document.body.scrollTop : document.documentElement.scrollTop;
}

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved