这篇文章我在我其他博客发布过,记得遇到这个问题的时候是10年初吧,给相关技术还是重贴出来,以供大家分享!
最近做一个瞬间信息显示浮动层时,IE、Firefox下都能显示正常,但Chrome下出现了浮动层永远显示在上面,经过仔细分析,发现Chrome对document.documentElement.scrollTop的识别会出现误差。不过加上document.body.scrollTop后,则显示正常。
网友提示:由于document.documentElement.scrollTop和document.body.scrollTop在标准模式或者是奇怪模式下都只有一个会返回有效的值,所以都加上也不会有问题(看来上面的问题是Chrome可能把文档当作非标准文档来解析了)。
即获取高度时使用document.documentElement.scrollTop+document.body.scrollTop,经测试,代码在IE、Firefox、Chrome下都能显示正常了。
现在Chrome浏览器修复这个BUG没有我还没验证,只感觉当时的Chrome浏览器BUG还是蛮多的,我用C#做大文件上传的时候,发现Chrome浏览器对上传文件的头信息不正确的BUG,当时就反应给google了,半年后他们才将此BUG修复。