麻烦解释:window.top.document.body.clientWidth这段代码的详细意思。解释好给予加分。
<scripttype="text/javascript">functionresetArea(){document.getElementById('body_Conta...
<script type="text/javascript">
function resetArea(){
document.getElementById('body_Contain').style.height = (window.top.document.body.clientHeight-85) + "px";
document.getElementById('body_Contain').style.width = (window.top.document.body.clientWidth-195) + "px";
}
window.onload=resetArea;
window.onresize=resetArea;
</script>
以上代码window.top.document.body.clientWidth 是用来获取当前浏览器跟当前窗口的宽度,但是,当我去掉window.top这段,只留下document.body.clientWidth,在IE7下可以正常显示,在IE6下就无法正常显示滚动条了。当我希望一个页面宽度假设为4000px,让它自由在DIV里面滚动,就无法实现,仅仅只能显示一小部分。
所以,麻烦懂的朋友给解释一下,为什么要这样写在一起呢?为什么IE6下,去掉window.top 就无法正常显示了呢?多谢!!! 展开
function resetArea(){
document.getElementById('body_Contain').style.height = (window.top.document.body.clientHeight-85) + "px";
document.getElementById('body_Contain').style.width = (window.top.document.body.clientWidth-195) + "px";
}
window.onload=resetArea;
window.onresize=resetArea;
</script>
以上代码window.top.document.body.clientWidth 是用来获取当前浏览器跟当前窗口的宽度,但是,当我去掉window.top这段,只留下document.body.clientWidth,在IE7下可以正常显示,在IE6下就无法正常显示滚动条了。当我希望一个页面宽度假设为4000px,让它自由在DIV里面滚动,就无法实现,仅仅只能显示一小部分。
所以,麻烦懂的朋友给解释一下,为什么要这样写在一起呢?为什么IE6下,去掉window.top 就无法正常显示了呢?多谢!!! 展开
2个回答
展开全部
第一点:简单说明下,首先你要明白ie每个版本其实机制是不一样的,据我的经验简单来说越高的版本纠错率可能相对高一些,可以识别一些不符合w3c格式的代码。
第二点:简单解释下window.top的问题。在应用有frameset或者iframe的页面时,parent是父窗口,top是最顶级父窗口(有的窗口中套了好几层frameset或者iframe),self是当前窗口, 而
window.top就是返回顶层窗口,即浏览器窗口。
(注:如果窗口本身就是顶层窗口,top属性返回的是对自身的引用。)
PS:我觉得这么说最容易解释你问的问题了,至于官方的说法百度都有。希望采纳
第二点:简单解释下window.top的问题。在应用有frameset或者iframe的页面时,parent是父窗口,top是最顶级父窗口(有的窗口中套了好几层frameset或者iframe),self是当前窗口, 而
window.top就是返回顶层窗口,即浏览器窗口。
(注:如果窗口本身就是顶层窗口,top属性返回的是对自身的引用。)
PS:我觉得这么说最容易解释你问的问题了,至于官方的说法百度都有。希望采纳
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询