解决客户 IE 浏览器"兼容性视图"设置带来的问题

2013-08-01 17:23

 

最近在给客户开发一个 ASP.NET web 报表时,发现客户的 IE8 浏览器上,看网页总是怪怪的。 经仔细调查发现,客户的 IE8 浏览器,统一被设置成"对本地网络使用兼容性视图"的设置。(客户公司网络有 windows 域,普通用户无法更改很多 windows 配置)。

 

经仔细分析,既然客户这边所有用户都是 IE8,就没有必要用 IE8 的兼容模式来模拟 IE6了。

ie compatibility view settings

客户公司这种配置,可能是为了让之前基于 IE6 开发/调试的老 Web 系统能够正常使用。

而我们现在开发的是新软件,所有用户都用 IE8,没有必要考虑 IE6 的兼容性, 只需要告诉客户浏览器,使用 IE8 标准模式既可。

尝试了网络所说的在页面的header 区域加




		

以上均无效。

 

后查 google 发现,在后台代码中,设置 response 头"X-UA-Compatible"参数就可以正常工作(以下为 C# 代码):


public class TestHander: IHttpHandler
{
    public void ProcessRequest(HttpContext context)
    {
        HttpResponse res = context.Response;
        //对 IE8 下 compatibility view setttings, 不论什么设置都有用
        res.AddHeader("X-UA-Compatible", "IE=8");
        ...
    }
    ...
}
		

特此笔记,以防遗忘,并与诸君共享。

 

 

欢迎转载,转载请注明出处: https://www.zheguisoft.com/staff_blogs/jacklondon_chen/2013, 及 https://www.cnblogs.com/jacklondon/p/3230521.html