最近发现jQuery thickbox插件在IE6下滚动条消失的bug,
大家可以在这里用ie6试试:
就是在ie6下,弹出窗口的时候页面的滚动会消失,从而是页面向右抖动一下,关闭窗口时,滚动条出现,从而使页面又向左抖动,这造成了很不好的用户体验。
出现这个问题的主要原因是ie6对js的页面高度宽度解析的不同
可以参阅https://www.7psus5.com/article.asp?id=133
但是bug出现的前提是你的页面上引用的是xhtml 1.0的dtd,也就是“<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” ““>”
如果你引用的是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”);??
为什么IE7下弹出层都跑页面下方去了,没在正中, 而ie6就是正确的. . .
官方所有例子都有那个问题- –
有没有看过注释后,页面会怎样?