使用标签强制IE兼容模式关闭

Gil · 03月23日

我正在为在所有Intranet站点上强制使用兼容模式的客户端做工作。我想知道是否可以在HTML中添加一个标记以强制兼容模式关闭。

HTMLHTML
回答(9)
时间
猪猪
9 · 2020-03-23 14:15:23

这是由于IE兼容性设置中的设置所致,该设置指出所有Intranet站点都应以兼容模式运行。您可以通过组策略取消选中该复选框(或在IE中将其取消选中),也可以设置以下内容:

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

显然,不可能将兼容性视图设置作为组策略进行更改,但是可以在注册表中进行更改,此meta标记对我来说很好,我不得不将必需的属性作为html表单的一部分进行工作,它只能在chrome和firefox中使用,但不能在IE中使用。

这是浏览器支持每个单独的html 5元素的直观视图。

http://html5readiness.com/

请注意,Google Chrome是一个共同点,它支持所有功能。希望这会有所帮助

J
JinJinEva
8 · 2020-03-23 14:15:23

作为标签的第一项插入。

这将迫使IE在IE的物理版本中呈现页面,并且它会忽略浏览器的“模式设置”。可以在开发人员工具中进行设置,尝试将其更改为较旧版本的IE进行测试,应将其忽略,页面外观应完全相同。

小哥猪猪
7 · 2020-03-23 14:15:23

如果您有权访问服务器,则最可靠的方法是在IIS中的服务器本身上进行访问。进入IIS HTTP响应标头。添加名称:与X-UA兼容的
值:IE = edge这将覆盖您的浏览器和您的代码。

猴子
6 · 2020-03-23 14:15:23

如果您希望每个网页都加载选定的内容并正在使用asp.net。只需将其作为“视图”>“共享”>“ Layout.cshtml”中标题标签下的第一个标签应用即可

只是一个提示

G
Gil伽罗小宇宙
5 · 2020-03-23 14:15:23

IE8的inerERnet默认为标准模式,而intRAnet的默认模式为quirks。如果您将doctype设置为xhtml transitional,则将忽略HTML meta标记。解决方案是在代码中添加HTTP标头。这对我们有用。现在,我们的Intranet网站正在强制IE8以标准模式呈现应用。

添加到基本页面类(ASP.net C#)的PageInit中:

Response.AddHeader("X-UA-Compatible", "IE=EmulateIE8");

参考:http : //ilia.ws/archives/196-IE8-X-UA-Compatible-Rant.html

小卤蛋村村
4 · 2020-03-23 14:15:23

经过数小时的故障排除后,这些内容...这里是一些快速的重点,对我们的X-UA-Compatible文档有所帮助http : //msdn.microsoft.com/zh-cn/library/cc288325( VS.85) .aspx#ctl00_contentContainer_ctl16

使用 <meta http-equiv="X-UA-Compatible" content=" _______ " />

  • 标准的用户代理模式(非模拟的)忽略<!DOCTYPE>在页面指令和渲染基于该版本的IE浏览器所支持的标准(例如,IE=8将更好地服从表格边框间距和一些伪选择比IE=7)。

  • 而“ 仿真”模式告诉IE遵循<!DOCTYPE>页面中的所有指令,根据您选择的版本呈现标准模式,并根据IE=5

  • content属性的可能值为

    content="IE=5"

    content="IE=7"

    content="IE=EmulateIE7"

    content="IE=8"

    content="IE=EmulateIE8"

    content="IE=9"

    content="IE=EmulateIE9"

    content="IE=edge"

梅Near
3 · 2020-03-23 14:15:23

我相信这可以解决问题:

<meta http-equiv="X-UA-Compatible" content="IE=edge" />
卡卡西Near
2 · 2020-03-23 14:15:23

如果您正在使用Intranet区域中的页面,则无论您做什么,都可能会发现IE9正在进入IE7兼容模式。

这是由于IE兼容性设置中的设置所致,该设置指出所有Intranet站点都应以兼容模式运行。您可以通过组策略取消选中该复选框(或在IE中将其取消选中),也可以设置以下内容:

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

这可以正常工作(在其他答案中有详细说明),但最初可能不会出现:它需要在声明样式表之前出现如果不这样做,它将被忽略。

村村
1 · 2020-03-23 14:15:23

对相关问题的答案所示,可以在Web.Config文件中设置“边缘”模式。这将使其适用于从应用程序返回的所有HTML,而无需将其插入到各个页面中:

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

也可以通过使用IIS管理器针对IIS服务器,整个网站或特定应用程序修改“ HTTP响应头”来完成同一步骤

你的回答

加载中...
⌘+Return 发表
发表

温馨提示:登录后可发表评论或回复

关闭,朕知道了

扫码关注微信公众号或小程序