首页 文章

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

提问于
浏览
69

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 . 我不是在说“文件模式” .

13 回答

  • 1

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

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

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

    MSDN blog post(强调他们的):“ Browser Mode is chosen before IE requests web content . 这意味着 sites cannot choose a Browser Mode . ”

  • 0

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

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

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

    他们来了.....

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

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

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

    请参阅附件截图

    Screenshot

  • 0

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

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

    this

    兼容性视图和企业版今天,大量的业务线网站都支持Internet Explorer 7 . 为了保持兼容性,Internet Explorer 8附带了基于区域评估的智能默认值 . 在默认状态下,公共Internet上的所有站点都以Internet Explorer 8标准模式(兼容性视图关闭)显示,所有Intranet网站都以Internet Explorer 7标准模式(兼容性视图)显示 . 我们来看一些例子 . 如果您导航到本地Intranet上的站点,例如http:// myPortal和http:// sharepoint / sites / mySite,则Internet Explorer 8会使用用户代理字符串“7”,版本矢量为“7”来标识自身,并显示在Internet Explorer 7标准模式下触发标准模式的网页 . 此组合允许在Internet Explorer 7中正常工作的网页在IE8中继续这样做 .

  • 0

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

    <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8" >
    
  • 0

    设置自定义HTTP标头,而不是使用 <head> 部分中的 <meta... . 这些应该是等价的,但我已经看到来自服务器的 X-UA-Compatible HTTP标头将覆盖IE 8的"Display intranet sites in Compatibility View"设置,其中 <meta... 元素不会 .

  • 44

    如果您使用的是.NET,我会给您答案:

    HTML

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

    Web.Config:

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

    在某处读取DOCTYPE声明必须是 very first line . 没有任何评论,也没有空行 .

    结合设置HTTP响应标头,这对我有用 . Browser Mode 从"IE9 Compatibility Mode"到"IE9 Mode" .

  • 3

    HKEY_CURRENT_USER \ Software \ Microsoft \ Internet Explorer \ BrowserEmulation IntranetCompatibilityMode 1 - > 0

  • 11

    为了使META声明有效,doctype必须是简化版本:

    <!DOCTYPE html>
    

    丹尼斯的问题不是更长的陈述 .

  • 6

    这个组合为我做了诀窍:

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

    至少IE开发者工具报告IE9 Compat View,IE8标准

    只是为了踢,我尝试了EmulateIE7,这也很有用 . 简化扩展!DOCTYPE是关键 .

  • 4

    您需要从域站点名称站点删除端口号: 1180 / index /

    如果浏览器在url中看到端口号 - 嗨“想”,那就是内联网 .

    设置你的DNS服务器友好的网址 - site.com/index ,它工作正常

  • 2

    标记为“正确”的答案在技术上是正确的,但表明大多数人面临的实际问题没有解决办法:“如何在IE8上正确显示兼容模式,一个不支持兼容模式的Web应用程序?” .

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

    这在几个工作站上对我有用 .

    如果上面的代码是在应用程序端实现的,那么IE8似乎表现得好像它不处于兼容模式,即使它仍然会将浏览器模式显示为兼容模式 .

相关问题