ie10下的ie7ie8浏览器模式跟真正的ie78浏览器模式会有什么区别?
好吧,坑爹之处在于,真的有。
主要是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