為什么兩種方法同一瀏覽器同一運行環境,結果不一樣
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">?
</head>
<body>
<script type="text/javascript">
document.write("方法一:"+"<br>"+"實際高度:"+document.body.scrollHeight+" "+"實際寬度:"+document.body.scrollWidth+"<br>");
?document.write("方法二:"+"<br>"+"實際高度:"+document.documentElement.scrollHeight+" "+"實際寬度:"+document.documentElement.scrollWidth);
</script>
</body> ? ?
</html>
2016-03-15
document.body和document.documentElement比較:
???? document.body是DOM中Document對象里的body節點, document.documentElement是文檔對象根節點(html)的引用。
???? IE在怪異模型(quick mode)下document.documentElement無法正確取到clietHeight scrollHeight等值,比如clietHeight=0。可以見IE的怪異模型并沒有把html作為盒子模型的一部分,好在現在很少使用怪異模型。(注:如果頁面沒寫DTD或寫的不對,IE6默認使用怪異模型解析頁面)
document.body.scrollHeight和document.documentElement.scrollHeight的區別:
???? document.body.scrollHeight是body元素的滾動高度,document.documentElement.scrollHeight為頁面的滾動高度,且 document.documentElement.scrollHeight在IE和Firefox下還有點小差異。
?????IE?: document.documentElement.scrollHeight = document.body.scrollHeight + marginTop bottom高度 + 上下border寬度
?????firefox?: document.documentElement.scrollHeight = document.body.scrollHeight + marginTop bottom高度