在Intranet中强制"Internet Explorer 8"浏览器模式

Den*_*s C 70 html internet-explorer-8 ie8-compatibility-mode ie8-browser-mode x-ua-compatible

IE8中有"Internet Explorer 8","Internet Explorer 8兼容模式"和IE7模式.

但是,IE中的默认设置使所有Intranet网站都使用"IE8兼容模式",即使我已经设置了doctype,meta标签,http标头也建议强制进入IE8模式.

我有

<!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 = 8">

但它仍然进入"IE8兼容模式",IE设置没有任何变化.

如何强制它进入纯粹的"IE8"模式,而不更改任何浏览器的设置?

PS.我不是在说"文件模式".

Den*_*s C 44

似乎MSFT没有考虑我们在内部运行许多不同Web应用程序的大型Intranet环境.

根据我在MSDN论坛上读到的某个地方,没有办法绕过IE8设置.

因此,我将不得不请求我的系统管理员放置一些新的组策略来更改"兼容性视图"设置和值并阻止用户更改值,直到MSFT发现此错误并修复它.

来自MSDN博客文章(强调他们的帖子):" 浏览器模式是在IE请求网络内容之前选择的.这意味着网站无法选择浏览器模式."

  • 或者,更准确地说,X-UA-Compatible将覆盖文档模式,但不会覆盖浏览器模式 (12认同)

And*_*ehi 35

可以覆盖Intranet中的兼容模式.只需将以下代码添加到web.config即可.用IE9为我工作.

<system.webServer>
<httpProtocol>
  <customHeaders>
    <clear />
    <add name="X-UA-Compatible" value="IE=edge" />
  </customHeaders>
</httpProtocol>
Run Code Online (Sandbox Code Playgroud)

  • (澄清一下:它适用于文档模式,但不适用于浏览器模式) (22认同)
  • 这个答案适用于.NET网站,因为提问者没有要求.NET解决方案,所以应该将其编辑为独立于技术. (3认同)

Cod*_*x73 11

你必须对IE进行一些调整.

他们来了.....

在Internet选项/本地Intranet /站点中

在"站点内部的本地Intranet"下,取消选中"自动检测Intranet网络".

然后仅选择"包括所有网络路径(UNC)

请参阅附件截图

截图

  • 禁用Intranet站点的兼容模式可能更适合此解决方案,因为这通常会阻止Intranet检测. (3认同)

ups*_*ake 6

我发现这里的答案很难理解,所以这里的重要信息简而言之:

如果您的Intranet使用IE的默认设置,则无论网站设置如何,都会对Intranet站点强制执行IE7标准模式.

这个:

兼容性视图和企业

如今,大量的业务线网站都可以使用Internet Explorer 7.为了保持兼容性,Internet Explorer 8附带了基于区域评估的智能默认值.在默认状态下,公共Internet上的所有站点都以Internet Explorer 8标准模式(兼容性视图关闭)显示,所有Intranet网站都以Internet Explorer 7标准模式(兼容性视图)显示.

我们来看一些例子.如果您导航到本地Intranet上的站点,例如http:// myPortalhttp:// sharepoint/sites/mySite,则 Internet Explorer 8会使用用户代理字符串"7",版本矢量为"7"来标识自身,并显示在Internet Explorer 7标准模式下触发标准模式的网页.此组合允许在Internet Explorer 7中正常工作的网页在IE8中继续这样做.

  • 多么聪明,微软. (14认同)
  • @humble coffee,"easy"正在设置一个非标准的"X-UA-Compatible"标题.管理网络上的本地计算机设置对我来说是一项指数级困难的任务. (6认同)