我正在使用优秀的 HTML 5 Reset 模板:html5reset.org我的 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 浏览器设置为“始终使用兼容性视图”模式,结果是即使他们使用 IE9,网站看起来也像 IE7,而 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 添加到响应标头中似乎可以解决此问题,但我不想依赖这种方法。
Update:看起来html5boilerplate.com如果检测到浏览器是 IE,则只是在 HTTP 响应标头中发送 X-UA-Compatible。这似乎是可行的方法。
HTML5 Boilerplate 推荐网络服务器配置。它速度更快,并解决了标记解决方案无法处理的一些边缘情况:https://github.com/h5bp/html5-boilerplate/blob/v4.0.0/doc/html.md#x-ua-兼容
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)