今天在用一个随滚动条移动的效果代码时,发现有的页面,不动,而JS代码是一样的 。
上网一搜索才知道,原来是loose.dtd搞的鬼,查到的说明如下:
在用DW mx 2004 新建网页文件时会自动加入:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
在ie6中很多js脚本执行就会出现问题,一般是在获取clientWidth, clientHeight,offsetWidth, offsetHeight,scrollWidth, scrollHeight,scrollTop, scrollLeft会返回不正确的值。
因为在加了doctype后,在ie6中这些document.body的属性已经重新分配给了document.documentElement。
比如:原来document.body.clientHeight,就要改成document.documentElement.scrollTop
而我的JS代码是好多页面公用的,有的页面有loose.dtd,有的没有。为了自适应,我就改了下代码:
((document.documentElement.clientHeight==0)?document.body.clientHeight:document.documentElement.clientHeight)
用这样的代码就能自适应了。
本文探讨了在使用Dreamweaver MX 2004创建网页时遇到的Internet Explorer 6浏览器JS兼容性问题,特别是在引入loose.dtd后对JS脚本的影响。文章详细解释了在IE6中document.body与document.documentElement的区别,并提供了一个解决方案来确保JS代码在不同页面中的正常运行。
136

被折叠的 条评论
为什么被折叠?



