【转】jQuery thickbox插件在IE6下滚动条消失的bug
原文地址:http://www.css88.com/archives/734
最近发现jQuery thickbox插件在IE6下滚动条消失的bug,
大家可以在这里用ie6试试:http://jquery.com/demo/thickbox/
就是在ie6下,弹出窗口的时候页面的滚动会消失,从而是页面向右抖动一下,关闭窗口时,滚动条出现,从而使页面又向左抖动,这造成了很不好的用户体验。
出现这个问题的主要原因是ie6对js的页面高度宽度解析的不同
可以参阅http://www.css88.com/article.asp?id=133
但是bug出现的前提是你的页面上引用的是xhtml 1.0的dtd,也就是“<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd“>”
如果你引用的是html4.0的dtd那么就没有这个bug。
但是当前绝大多数的的页面都是引用xhtml 1.0的dtd,要避免这个bug这就需要改造thickbox插件,其实很简单,只要将没有压缩过的的thickbox.js打开,找到tb_show这个函数,
将下面两句注释掉就可以了,Thickbox 3.1中在整个文件的35和36行。
JavaScript代码
- $(“body”,“html”).css({height: “100%”, width: “100%”});
- $(“html”).css(“overflow”,“hidden”);