是否可以经常更改浏览器文档模式?

时间:2014-04-19 18:52:03

标签: javascript html angularjs internet-explorer internet-explorer-8

我有一个使用角度js开发的Web应用程序。我们还有另一个遗留的网络应用程序,它包含在我们其中一个页面的iframe中。此旧版Web应用程序仅在怪异模式下工作。我们需要在我们公司的基于浏览器的应用程序中进行这项工作,该应用程序在浏览器模式= IE9中运行并具有css& IE8的js引擎,即doc mode = IE8。

现在我的要求是在IE8 doc模式下启动浏览器的第一页,在quirks模式下启动第二页,在IE8 doc模式下启动第三页。但我发现,一旦我改变浏览器模式,它对整个网络应用程序甚至第二页加载的支持都有不同的配置。 是否有可能以某种方式明智地改变浏览器模式? enter image description here

3 个答案:

答案 0 :(得分:1)

最好将doctype设置为max

<!DOCTYPE html>

使用元标记更改某些页面。

元标记位于head标记中,告诉您的浏览器如何表现。

对于IE 8

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

对于Quirk模式从未尝试过,所以我不确定它是如何工作的

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

将其设置为5 ,据称告诉浏览器以怪癖模式工作。

答案 1 :(得分:0)

可悲的是,这是一种常见的情况。我不太确定iFrame是如何真正影响传统的LOB Web应用程序的,但我认为DOCUMENT模式会逐渐减少。

为什么不调查新的企业模式,看看是否可以帮助您:

http://love2dev.com/#!article/The-New-Internet-Explorer-Enterprise-Mode-or-Why-You-Should-Never-Use-IE-8-Anymore http://love2dev.com/#!article/Internet-Explorer-Enterprise-Mode-Resources

另外,我鼓励您使用X-UA兼容的META标签或HTTP标头来告诉IE使用什么引擎。我认为企业模式适用于大多数事情,因此请首先尝试,因为它可以让您的组织在不破坏遗留应用程序的情况下升级到最新版本。

当然,请务必寻求将旧版应用程序升级到现代标准的途径。这只是一种良好的商业实践,因为它可以消除您所拥有的问题,并延长应用程序的使用寿命。

答案 2 :(得分:0)

您可以使用web.config和必需页面中的不同标记来实现此目的。

我们有一个使用经典asp,ASP.Net和ASP.NET MVC的应用程序

通用兼容模式在web.config中设置如下:

<system.webServer>
  <httpProtocol>
    <customHeaders>
      <clear />
      <add name="X-UA-Compatible" value="IE=7" />
    </customHeaders>
  </httpProtocol>
</system.webServer>

对于MVC,我们在_Layout.cshtml中使用了常用标记,如下所示。它负责AngularJS,Metro Bootstrap等。

<meta http-equiv="X-UA-Compatible" content="IE=10,chrome=1" />