强制IE9进入浏览器兼容性视图

F.P*_*F.P 8 html compatibility quirks-mode internet-explorer-9

我知道如何强制IE在文档兼容性中查看页面,但是浏览器兼容性视图呢?

我有一个项目只有在IE9处于浏览器兼容性视图中时才会出于各种原因,但我找不到任何关于如何强制IE9这样做的资源.

每个人都只谈论强制文档兼容性,例如使用

<meta http-equiv="X-UA-Compatible" content="IE=8" />
Run Code Online (Sandbox Code Playgroud)

但这在我的情况下不起作用,因为它只设置文档视图.有没有办法设置浏览器视图

PS:为了清楚地说明,这是我需要强制执行的设置:

浏览器兼容性http://img513.imageshack.us/img513/8589/browsercomp.png

Raz*_*zor 8

请参阅MSDN文档.
你应该使用emulateIE7,因为兼容模式是一种 IE7:

<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7">
Run Code Online (Sandbox Code Playgroud)

编辑

如果上述方法无效时,其他选项都是真的很差.
引自上面的链接:

  • Microsoft尚未将该站点的域名置于黑名单中.(原始文章中链接的黑名单非常陈旧且未更新,您可以在计算机上找到本地副本)
  • 内部网管理员尚未将该网站置于黑名单中.
  • 用户没有按下兼容性视图按钮(duh)
  • 该站点不在Intranet区域中
  • 该页面不是由兼容模式页面构成的.

以上是AFAIK,兼容模式的唯一原因.
除非您准备直接与Microsoft联系以将您的网站添加到全局黑名单中,否则您无法做很多事情(除非您希望将您的网站包含在源自黑名单域的框架中).


小智 5

我已经尝试了MSDN文章建议的各种方法,网址http://msdn.microsoft.com/en-us/library/jj676915(v=vs.85).aspx,关于强制IE9模拟以前版本的X -UA-Compatible标头,以便正确显示.

在我的情况下,测试是在IE9浏览器中播放MP4视频文件,该浏览器使用默认标准模式而不是兼容模式.其他网站表示Internet Explorer只配置为播放MP4文件(而不是ogg和webm视频文件),所以我认为这是最安全的文件格式进行测试.

我使用IE9测试了网页视图,模拟了IE8标准和该页面的IE7标准视图,在这两种情况下,旧的标准视图都适用于播放MP4视频文件.IE9兼容模式也播放了该网页.但是我强迫IE9恢复到标准视图,以便为那些没有配置自己的IE9浏览器以使用兼容模式的人测试能够播放视频的代码.

之前引用的MSDN文章所建议的方法似乎是针对这个问题,但在测试这些方法时,没有一个方法解决了播放MP4视频文件的IE9浏览器的问题.

我的问题的解决方案来自这个Stack Overflow票证: HTML5视频不能仅在IE9中运行

我实际上必须将以下行添加到网站上的.htaccess文件中:

AddType video/ogg .ogv
AddType video/mp4 .mp4
AddType video/mp4 .mov
AddType video/webm .webm
Run Code Online (Sandbox Code Playgroud)

然后,我还需要确保第一行代码使用了这个:

<!DOCTYPE html>
Run Code Online (Sandbox Code Playgroud)

......而不是这个:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
Run Code Online (Sandbox Code Playgroud)

我不需要使用任何"以前的版本"代码,例如:

<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8">
Run Code Online (Sandbox Code Playgroud)

在我的测试页面上,我还使用了video-js代码,我假设它会处理IE9标准问题(就像其他Web浏览器一样).它自己的代码似乎也输出了以下X-UA兼容代码:

<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta http-equiv="X-UA-Compatible" content="IE=9" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
Run Code Online (Sandbox Code Playgroud)

但是,仅凭这些代码并没有解决问题.最终,我认为这是由于在.htaccess文件中添加了代码.