在 ASP 包含的标题标记之后添加 IE 边缘元标记



我在CMS驱动的站点上有数千个页面,这些页面在公司网络内部呈现不佳,因为IE将它们视为内部网页面,IE的默认设置是在兼容模式下呈现内部网页面。

我想在标题标签后插入 IE Edge 元标记以强制浏览器进入最新版本,但我无法为此编辑每个页面。为了避免编辑单个页面或必须在CMS中重新生成页面,我想我应该能够使用服务器端脚本更新所有页面通用的包含。这可能吗?我认为它需要在服务器端,因为在加载时添加元标记不会强制浏览器模式,但也许我错了。

所以我想要这个:

<head>
...some stuff...
<title>My Title</title>
...some other stuff...
<!--#include virtual="/myinclude.asp"-->
</head>

要变成这样:

<head>
...some stuff...
<title>My Title</title>
<meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1">
...some other stuff...
...rendered include...
</head>

有没有办法做到这一点?或者我没有看到的其他解决方法?

事实证明,您可以使用以下内容向标题添加内容:

<%  Response.AddHeader "CustomHeader","CustomValue" %>

似乎我把它放在页面上的什么地方并不重要,所以我可以把它放在公共包含中,所有页面都会得到自定义标题。在这种情况下:

<% Response.AddHeader "X-UA-Compatible","IE=Edge,chrome=1" %>

希望我早点知道这件事!这是规格:

http://msdn.microsoft.com/en-us/library/ms524327(v=vs.90).aspx

您可以将 IIS 设置为发送所有提供的页面的标头。MSDN 文章将这些步骤描述为:

在 IIS7 中配置模拟 IE7 HTTP 标头(通过用户界面)

  1. 打开因特网信息服务 (IIS) 管理器
  2. 从连接窗格中选择服务器
  3. 右键单击中心任务窗格中的"HTTP 响应标头",然后选择"打开功能"
  4. 从操作窗格中选择"添加"
  5. 添加名称为"X-UA-Compatible"和值"IE=Edge"的自定义标头

他们还有通过命令行进行更改的步骤。

IIS 博客上有一篇文章,其中列出了可能的值以及它们将执行的操作。

模拟 IE8 模式 --> IE=模拟 IE8模拟 IE7 模式 --> IE=模拟 IE7IE5 模式 --> IE=5IE7 模式 --> IE=7.5IE8 模式 --> IE=8边缘模式 --> IE=边缘

最新更新