代码之家  ›  专栏  ›  技术社区  ›  Dennis C

在intranet中强制使用“Internet Explorer 8”浏览器模式

  •  70
  • Dennis C  · 技术社区  · 14 年前

    IE8中有“Internet Explorer 8”、“Internet Explorer 8兼容模式”和IE7模式。

    我有

    <!DOCTYPE HTML PUBLIC“-//W3C//DTD HTML 4.01过渡版//EN” http://www.w3.org/TR/html4/loose.dtd

    <meta http equiv=“X-UA-Compatible”content=“IE=8”>

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

    我不是在说“文档模式”。

    13 回复  |  直到 7 年前
        1
  •  45
  •   Glorfindel Doug L.    4 年前

    似乎MSFT还没有考虑一个大型的intranet环境,我们有许多不同的web应用程序在里面运行。

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

    从一个 MSDN blog post (强调): . 这意味着 网站无法选择浏览器模式 ."

        2
  •  35
  •   Andras Csehi    13 年前

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

        3
  •  11
  •   Adaline Simonian    7 年前

    你得对IE做些调整。

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

    在:Local Intranet inside Sites下,取消选中“Automatic detect Intranet network”。

    然后选择“仅包含所有网络路径(UNC)”

    请参阅随附的屏幕截图

    Screenshot

        4
  •  6
  •   upshake    14 年前

    this :

    兼容性视图和企业

    大量的业务线 今天能干。为了保存 兼容性,Internet Explorer 8 提供基于的智能默认值 区域评估。在默认状态下, 在Internet Explorer 8中显示 标准模式(兼容性视图 关闭)和 所有内部网站 在Internet Explorer 7中显示 标准模式 (兼容性视图) 打开)。

    让我们看一些例子。如果你 内联网式 http://myPortal http://sharepoint/sites/mySite Internet Explorer 8使用用户代理字符串标识自己 7,7的版本向量 Internet Explorer 7中的标准模式 允许正常工作的网页 在Internet Explorer 7中继续 在IE8中这样做。

        5
  •  4
  •   Craig A    14 年前

    要覆盖intranet或所有网站的兼容性视图设置,您需要使IE8模拟自身。

    <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8" >
    
        6
  •  3
  •   David Kolar    14 年前

    设置自定义HTTP头,而不是使用 <meta... <head> X-UA-Compatible 来自服务器的HTTP头将覆盖IE8的“在兼容性视图中显示intranet站点”设置,其中 <元。。。 元素不会。

        7
  •  2
  •   Francisco Goldenstein    12 年前

    如果您使用的是.NET,我有一个答案:

    HTML格式

    <!DOCTYPE html>
    <html>
    <head>
        <meta http-equiv="X-UA-Compatible" content="IE=8" >
    

    网站配置:

    <system.webServer>
        <httpProtocol>
          <customHeaders>
            <clear />
            <add name="X-UA-Compatible" value="IE=8" />
          </customHeaders>
        </httpProtocol>
    
        8
  •  1
  •   brunosp86 diceguyd30    13 年前

    在某处读到DOCTYPE声明必须是 第一线 . 没有任何评论,也没有空行。

    结合设置HTTP响应头,这对我很有效。 Browser Mode 从“IE9兼容模式”变成了“IE9模式”。

        9
  •  0
  •   Yurok    13 年前

    HKEY\ U CURRENT\ U用户\软件\Microsoft\Internet Explorer\BrowserEmulation 内部网兼容模式1-->0

        10
  •  0
  •   Deborah    13 年前

    <!DOCTYPE html>
    

    不是丹尼斯问题中较长的陈述。

        11
  •  0
  •   Ray Brockman    12 年前

    这个组合对我起了作用:

    <!DOCTYPE HTML>
    <HEAD>
    <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8" >
    </HEAD>
    

    至少IE开发者工具报告IE9兼容视图,IE8标准

    只是为了好玩,我试着模仿,效果也不错。 简化扩展模型!DOCTYPE是关键。

        12
  •  0
  •   ZOXEXIVO    12 年前

    您需要从域名中删除端口号 1180 /索引/

    为友好URL设置dns服务器- 一切正常

        13
  •  0
  •   Magnilex BesaFX    10 年前

    标记为“correct”的答案在技术上是正确的,但表明对于大多数人面临的真正问题没有解决方案,即:“如何在启用了兼容模式的IE8上正确显示不支持兼容模式的web应用程序?”。

    <!DOCTYPE HTML>
    <HEAD>
        <meta http-equiv="X-UA-Compatible" content="Edge" >
    </HEAD>
    

    如果上面的代码是在应用程序端实现的,那么IE8的行为就好像它没有处于兼容模式一样,尽管它仍然将浏览器模式显示为兼容模式。