注:首先还是要感谢cnblog上的大侠的分享,下面部分内容根据自己需要在原基础上进行了删除和扩展。
第1章 网站迁移简介
1.1 网站开发过去和现在
在过去专门针对IE6开发的系统中可能存在一些现在主流高版本浏览器不兼容的代码或样式,过去和现在Web开发的现状如下图。
IE版本从6升级到10过程中,由于IE10执行较新的Web标准,在IE9之前正确执行的代码或渲染的样式,在IE10中可能会失效,具体会在后面总结到。
1.2 解决兼容性方法
1.2.1 修复
可以通过设置网页的兼容视图/ 或者调整GPO完成修复。
了解下IE新版本带来的变化:
每次使用一个新版本的浏览器,网站总是出错,导致此类问题的原因一般如下:
用条件注释来判断浏览器版本,如:
<!-[if gte IE 5.5] <p>you are using IE5 or higher</p> <![endif]->
用用户代理串User Agent String判断浏览器类型,如:
注意:
(1) 在IE10中不再支持条件注释语句,所以旧版本的web在IE10中可能显示不正确。
(2) 在IE10的兼容性视图中,User-Agent会变为IE7,如果代码是通过这样方式判断,则不能处理后期新出现的用户较多的浏览器的支持。
(3) 在旧版的服务器中,存在一个BUG,此bug将会导致服务器不会接收来自IE10的请求,需要升级服务器补丁,
Certain versions of ASP.NET do not correctly recognize the Internet Explorer 10 user-agent string and must be updated.
Symptom
ASP.NET does not correctly recognize the Internet Explorer 10 user-agent string and responds with a "_doPostBack is undefined JavaScript" error.
Resolution
Update the ASP.NET browser definition files. For more info, see Bug and Fix: ASP.NET fails to detect IE10.
<meta http-equiv="X-UA-Compatible"content