ie10下的ie7ie8浏览器模式跟真正的ie78浏览器模式会有什么区别?

新手上路,请多包涵

ie10下的ie7ie8浏览器模式跟真正的ie78浏览器模式会有什么区别?

阅读 5.8k
1 个回答

好吧,坑爹之处在于,真的有。

主要是html5定义的一些<input>和boolean类型的属性,在IE10兼容IE7\8\9时,与原生IE7~9存在区别。

看下面两篇文章吧:

  • IE10↘IE7-IE9 type=email的完全抛弃
  • HTML5 Boolean类型属性(如required)值的JS获取

    问题不是type=email或者placeholder,而是任何html5新规定的所有属性,在IE10的IE7模式下,都有这个bug。

    比如form的novalidate,input的required,pattern属性,只要这个属性是新加入的,它就用诡异的方式来处理,而不是像正常的那样,当做非html规范的普通自定义属性处理,甚至set/get attribute都要报错。

所以,鉴于以上原因,在处理HTML5的前沿玩意儿时千万不要信赖IE10兼容模式给你的美好蒙蔽,测试机准备好几个版本:

  • winxp + ie6
  • win7 + ie9(兼容ie7/8还是没有太大问题的)
  • win7 + ie10
  • win8.1 + ie11
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进