Twitter bootstrap 引导图示符图标未在服务器上的IE中呈现

Twitter bootstrap 引导图示符图标未在服务器上的IE中呈现,twitter-bootstrap,internet-explorer,localhost,intranet,glyphicons,Twitter Bootstrap,Internet Explorer,Localhost,Intranet,Glyphicons,我提出这个问题是为了分享我最近对奇怪IE行为的认识 我自己正在构建一个intranet web应用程序(ASP.NET),页面上有一些图标。当我使用VisualStudio在localhost上运行网站时,不会出现任何问题 但当我在IIS服务器上部署它时,图标不再呈现 情形1:在服务器上 情况2:在本地主机上 只有在服务器上查看IE(此处为第8节)时,才会出现此问题。Firefox和Chrome工作正常,在服务器和本地主机的情况下呈现图标 我搜索并找到了许多可能的解决方案(MIME类型、字体格

我提出这个问题是为了分享我最近对奇怪IE行为的认识

我自己正在构建一个intranet web应用程序(ASP.NET),页面上有一些图标。当我使用VisualStudio在localhost上运行网站时,不会出现任何问题

但当我在IIS服务器上部署它时,图标不再呈现

情形1:在服务器上

情况2:在本地主机上

只有在服务器上查看IE(此处为第8节)时,才会出现此问题。Firefox和Chrome工作正常,在服务器和本地主机的情况下呈现图标


我搜索并找到了许多可能的解决方案(MIME类型、字体格式、eso),但都没有解决问题。

将近一个小时后,我发现问题出在哪里

在Internet Explorer中,在“兼容性视图设置”下选中了“在兼容性视图中显示intranet站点”选项

当我取消选中它时,图标会像预期的那样出现


因此,在进行其他操作之前,不要忘记检查“兼容性视图”设置…

如果要解决此问题而不让用户进行任何修改,则必须在IIS中添加新的HTTP响应头。以下是执行此操作的步骤:

  • 开放IIS
  • 单击HTTP响应头
  • 添加名为“X-UA-Compatible”且值为“IE=Edge”的设置
  • 完成
  • 确保要求用户清除缓存并重新启动浏览器 (相当重要的一步)


    通过在
    标记后添加web.config,解决了相同的问题

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

    您将如何强制其他用户更改“兼容性视图设置”?