jQuery thickbox插件在IE6下滚动条消失的bug

最近发现jQuery thickbox插件在IE6下滚动条消失的bug,

大家可以在这里用ie6试试:http://jquery.com/demo/thickbox/

就是在ie6下,弹出窗口的时候页面的滚动会消失,从而是页面向右抖动一下,关闭窗口时,滚动条出现,从而使页面又向左抖动,这造成了很不好的用户体验。

出现这个问题的主要原因是ie6对js的页面高度宽度解析的不同

可以参阅https://www.html.cn/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代码
  1. $(“body”,“html”).css({height:?“100%”,?width:?“100%”}); ??
  2. $(“html”).css(“overflow”,“hidden”);??
赞(0) 打赏
未经允许不得转载:WEB前端开发 » jQuery thickbox插件在IE6下滚动条消失的bug

评论 2

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. #-49

    为什么IE7下弹出层都跑页面下方去了,没在正中, 而ie6就是正确的. . .

    官方所有例子都有那个问题- –

    ToT10年前 (2009-05-01)回复
  2. #-48

    有没有看过注释后,页面会怎样?

    few10年前 (2009-07-17)回复

前端开发相关广告投放 更专业 更精准

联系我们

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏