一些IE9在Ajax请求上变成了兼容性视图

时间:2012-12-05 02:22:04

标签: ajax internet-explorer-9 prototypejs

我有一个使用ajax和prototype.js(Ajax.Updater)的Web应用程序。

new Ajax.Updater('someID','/some/url',
    {
        asynchronous:true,
        evalScripts:true,
        parameters:Form.serialize(Event.element(event).form),
        requestHeaders:['X-Update', 'someID']
    }
);

一些(并非所有)IE9用户都会遇到一种奇怪的现象。

    正常(非ajax)HTTP请求的
  • UserAgent表示浏览器是IE9,而不是兼容性视图。
  • UserAgent ajax HTTP请求表明浏览器是IE7(IE9的兼容性视图)。

我想强制浏览器不要在ajax HTTP请求中使用兼容性视图,但html已经有meta标记:<meta http-equiv="X-UA-Compatible" content="IE=edge">

有谁知道原因或解决方法?

1 个答案:

答案 0 :(得分:3)

这是一个可能的解决方案 - 但尚未完全研究 - 尝试设置

Header set X-UA-Compatible "IE=edge"
在您的httpd.conf.htaccess文件中

- 这将为来自Apache的所有响应添加X-UA-Compatible标头,以强制IE不使用兼容模式