【问题标题】:Html 5 Reset (html5reset.org) - X-UA-Compatible doesn't workHtml 5 重置 (html5reset.org) - X-UA 兼容不起作用
【发布时间】:2012-05-27 19:27:06
【问题描述】:

我在html5reset.org 使用出色的 HTML 5 重置模板,而我的 X-UA-Compatible 元标记似乎不起作用。这是我的标题的样子:

<!DOCTYPE html>

<!--[if lt IE 7 ]> <html class="ie ieNoHtml5 ie6 no-js" lang="en"> <![endif]-->
<!--[if IE 7 ]>    <html class="ie ieNoHtml5 ie7 no-js" lang="en"> <![endif]-->
<!--[if IE 8 ]>    <html class="ie ieNoHtml5 ie8 no-js" lang="en"> <![endif]-->
<!--[if IE 9 ]>    <html class="ie ie9 no-js" lang="en"> <![endif]-->
<!--[if (gt IE 9)|!(IE)]><!--><html class="no-js" lang="en"><!--<![endif]-->
<!-- the "no-js" class is for Modernizr. -->

<head>
    <meta charset="utf-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />


    <title>Title of Page</title>

显示在 IE 中使用兼容性视图模式的选项(URL 字段中的断页图标)。问题是我的一些客户将他们的 IE9 浏览器设置为“始终使用兼容性视图”模式,结果是网站看起来像 IE7,即使他们使用的是 IE9,并且假设 X-UA-Compatible 会覆盖这个.

现在,如果我删除有趣的标题内容:

<!DOCTYPE html>
<html class="no-js" lang="en">
<head>
    <meta charset="utf-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />

...它突然开始正常工作了。

我注意到html5reset.org 本身似乎显示了损坏的页面图标,因此它似乎也不起作用,但html5boilerplate.com 确实起作用,并且似乎使用相同的方法。

通过网络服务器配置将 X-UA-Compatible 添加到响应标头中似乎可以解决它,但我宁愿不依赖这种方法。


更新: 如果html5boilerplate.com 检测到浏览器是 IE,它似乎只是在 HTTP 响应标头中发送 X-UA-Compatible。这似乎是要走的路。

【问题讨论】:

    标签: html internet-explorer html5boilerplate x-ua-compatible


    【解决方案1】:

    HTML5 Boilerplate 推荐使用 webserver 配置。它更快并且解决了标记解决方案无法使用的一些边缘情况:https://github.com/h5bp/html5-boilerplate/blob/v4.0.0/doc/html.md#x-ua-compatible

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-10-29
      • 2015-06-15
      • 2012-09-01
      • 2015-11-06
      • 2012-05-23
      • 2013-03-01
      • 1970-01-01
      • 2013-04-25
      相关资源
      最近更新 更多