首页 > 代码库 > IE8/9的几个前端bug解决方案
IE8/9的几个前端bug解决方案
最近做的东西需要兼容IE……啊真是令人忧伤……
解决低版本IE的buggy inline-block
低版本的IE只对本身inline的元素能用inline-block,而本身为block的元素需要设为inline。此外,如果想要让这个buggy的inline-block生效,还需要让元素具备hasLayout,常见的方法是设置zoom。如果想绕过低版本IE又保持对其他浏览器的兼容,可以这样:
.xx { display: inline-block; *display: inline; // IE7- only hack zoom: 1;}
参考Inline block doesn‘t work in internet explorer 7, 6
jQuery UI 1.7 的 Draggable 在 IE9 无法使用
哀伤地要使用jQuery UI 1.7 版本带的Draggable,但是在IE9下无法使用(i.e.完全不能用233 根本拖不了),原因是IE9的鼠标事件更新后旧版本的jQueryUI没有对它开例外,当成了更低版本的IE去处理,解决方法在这里:jQuery UI does not work on IE9
将_mouseMove的
if ($.browser.msie && !e.button)
改成
if ($.browser.msie && document.documentMode < 9 && !e.button)
为IE9及更高的IE添加例外即可
IE9下出现javascript无法正常生效,按F12后恢复正常
这是因为IE8/9默认没有console,所以如果代码里残留了类似console.log的引用就会报错,整个js挂掉,参见这里,解决方法是将带console的语句删掉(反正一般也是调试用的,删了无妨),或者用类似HTML5 Boilerplate里的解决方案
IE8/9的几个前端bug解决方案
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。