8

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

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

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

<meta http-equiv="X-UA-Compatible" content="IE=8" />

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

PS:为了清楚起见,这是我需要强制执行的设置:

浏览器兼容性

4

3 回答 3

8

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

<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7">

编辑

如果上述方法不起作用,则其他选项确实很差。
引用上面的链接:

  • 微软并未将该站点的域名列入黑名单。(原文链接的黑名单很老,没有更新,你可以在电脑上找一个本地副本)
  • Intranet 管理员尚未将该站点列入黑名单。
  • 用户没有按下兼容性视图按钮(duh)
  • 该站点不在 Intranet 区域中
  • 该页面不是由兼容模式页面构成的。

以上是,AFAIK,兼容模式的唯一原因。
除非您准备直接与 Microsoft 联系以将您的网站添加到全局黑名单中,否则您无能为力(除非您想将您的网站包装在源自黑名单域的框架中)。

于 2012-07-17T09:38:29.543 回答
5

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

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

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

前面提到的那个 MSDN 文章建议的方法似乎是针对这个问题的,但是在测试这些方法中的每一个时,它们都没有解决 IE9 浏览器播放 MP4 视频文件的问题。

我的问题的解决方案来自这张 Stack Overflow 票: HTML5 Video not working only in IE9

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

AddType video/ogg .ogv
AddType video/mp4 .mp4
AddType video/mp4 .mov
AddType video/webm .webm

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

<!DOCTYPE html>

...而不是这样:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

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

<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8">

在我的测试页面上,我还使用了video-js代码,我认为它可以解决 IE9 标准问题(就像其他 Web 浏览器一样)。它自己的代码似乎也输出了以下 X-UA-Compatible 代码:

<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" />

但是,仅这些代码并不能解决问题。最终,我相信这是由于在 .htaccess 文件中添加了代码。

于 2013-01-29T19:42:34.477 回答
1

我有一个适用于所有(7,8,9)的解决方案,即浏览器

<script src="http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE9.js" > </script>

在 head 标签中使用这个 java 脚本。

于 2014-01-03T11:53:38.270 回答