被用户搞的想发疯。javascript
先是在IE11下开发的代码,用户说在IE8下不正常,安装了IETester测试解决了,用户仍是说不对,另外找几台机器测试明明没问题java
跑到用户处一看,原来是新的功能没问题,旧的在线打开Word文档的页面出问题了,这个页面用的是SOAOffice,在IE8下没法打开文档,必须进入兼容模式,新的功能又不支持IE8的兼容模式,这个问题好解决,把旧的页面上加上使用强制使用IE=7方式就好了web
而后用户又抱怨了,不少用户爱用搜狗(不是大家说了你们都用IE8的么),搜狗下新的功能必须使用高速模式才能运行,兼容模式不正常,查了下百度,原来搜狗的高速模式使用的是Chromium核心,兼容模式明明是IE核心么,为何不对呢?跟用户说大家把搜狗设成默认使用高速模式好了浏览器
过了一天,用户又抱怨了,在线打开word文档的功能高速模式下不能使用,此次看了下,原来是由于使用Chromium核心不支持SOA浏览器插件的缘由......这个没辙了,在搜狗了折腾了半天,网上搜索了半天,最后找到个搜狗设置选项,可让搜狗在兼容模式下启用高级渲染模式(我觉得是webkit渲染呢),这样页面就正常了,仍是使用兼容模式吧测试
又过了一天,用户又抱怨了,说下面的使用人员老打电话询问为何搜狗不能正常使用,他们总是要解释太烦了,要求浏览器能自动运行正常。我快要吐血了,搜狗浏览器不是我作的好伐ui
此次又百度了半天,查看了关于搜狗浏览器兼容模式和正常IE的差别,没查到什么关系,到是有说IE8下兼容模式和正常模式的差别,包括怪异模式等插件
因而先在不一样浏览器里打开新功能页面输入javascript:alert(document.compatMode)测试了下,彷佛你们都差很少,都是CSS1Compat,包括搜狗的高速和兼容模式,而后又输入javascript:alert(document.documentMode)测试下了,此次不同了,高速模式是undefined,不支持这个参数,兼容模式结果是7server
这下明白了,原来搜狗的兼容模式不是指使用IE当前版本作核心,而是直接使用IE7的模式,难怪页面不正常ip
那在搜狗里指定使用IE高级版本管用无论用呢?修改测试了下,仍是管用的,因而干脆直接把新页面指定使用IE=edge命令,这是告诉浏览器你仍是使用当前安装的IE版本吧,这样搜狗实际渲染时使用的就是IE8了开发
问题总算解决了,不太明白的就是为何我本身本机测试时不管什么浏览器<meta http-equiv="X-UA-Compatible" content="IE=edge" />放在<head runat="server">下都是没有问题的,可是用户那不行,必须在masterpage里从新放置一个单独的<head>里才生效