IE10升级有什么比较好的兼容IE8版本为基础开发的前台代码的策略么?
目前在升级过程中发现如下几点兼容性问题:
1.html的自定义属性设置/获取已经废弃了“exp.xxx”的形式,必须要使用getAttribute/setAttribute的方式
2.document.createElement创建DOM节点不能带有<>符号
3.body、div等容器绑定resize事件通过“.onresize”方式绑定失效,需要通过attachEvent绑定
解决这些个兼容性问题目前只能是碰到问题解决问题,也不知道还会存在哪些个问题,不确定性太大,因此项目风险会很大,是否有针对IE10升级的兼容性和代码规范的检测方法或者工具什么的,目前知道compat insepector可以检测类似createElement的使用规范,不过检测能力有限,最好像第一点描述的属性获取规范也能检测
另外各位大神是否也可分享下在IE9或者IE10升级过程中的经验心得,有文档神码的就更好了
麻烦关注下,高分奉上
------解决方案--------------------你按照w3c标准来写代码就不会有大问题了,极个别的浏览器,如IE8-的需要特别处理下
------解决方案--------------------http://www.csdn.net/article/2012-03-07/312835
看看这个,css的检查工具到是很多
------解决方案--------------------留个脚印,看看结果。
------解决方案--------------------靠工具还不如靠自己,整个项目解决方案搜,然后统一改,提交测试部测试,然后再改。后续最好采用全jquery来统一规范实现JS的操作
------解决方案--------------------http://blog.csdn.net/yenange/article/details/8979100
http://blog.csdn.net/yenange/article/details/9067445
http://blog.csdn.net/yenange/article/details/9012833
------解决方案--------------------
LZ你描述的那些"问题",真的就是个规范的问题.规范好了,升级兼容IE10,抛开css兼容不谈.真的就是极个别的需要修改的
1.html的自定义属性设置/获取已经废弃了“exp.xxx”的形式,必须要使用getAttribute/setAttribute的方式
可能偷懒的方式:整理好你的"自定义属性"清单,写个正则,将你的js文件当成字符串进行正则替换,至于使用getAttribute还是setAttribute,暴力点讲,无非就是=号在前还是在后的问题
2.document.createElement创建DOM节点不能带有<>符号
可能偷懒的方式:这个比较简单了,参考上面的
3.body、div等容器绑定resize事件通过“.onresize”方式绑定失效,需要通过attachEvent绑定
这个好像更简单,resize事件总不可能到处都是吧,即便是,也可以参考上上面的
------解决方案--------------------
1、有精力那就全部测试修改写成标准格式。
2、如果不想花费这么大成本改动那最简单的就是只是用ie8模式运行系统,
每个页面顶部加入这句:
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8" />
注意:除了dtd,html,head,title,meta外这句代码的前面不能有其他任何html标签如css或script,不然无法生效。