4

有建议说声明编码的元标记应该尽可能早,最好是像这样首先在头部:

<head>
  <meta charset="utf-" /><!-- Yes I like XHTML syntax, get over it -->
  <title></title>
  <!-- The usual suspects -->
</head>

现在我想知道我在这个流程中放置的位置是否有任何明显的影响

<meta http-equiv="X-UA-Compatible" content="IE=edge">

我尚未阅读任何研究的可能问题/问题:

  • 表现
  • 切换前的旧布局引擎布局的Flash...

本能告诉我要尽早放置元标记,但有什么确凿的证据吗?

4

1 回答 1

1

不是确凿的证据,而是我的一个理论:由于 Document 还没有主体,所以在 head 元素完成后没有绘制或流动。当 body 元素被解析并开始绘制时,X-UA-Compatible应该已经处理了指令。因此,当涉及到样式表时,它应该无关紧要。

但是,脚本会阻止解析,并且会在它们出现时执行,除非它们使用该defer属性并且 IE 版本支持它。

不过,有人可能会争辩说,延迟回调会带来变化;我想到了onContentLoaded回调、window.onload回调和回调setTimeout。所以当谈到脚本时,X-UA-Compatiblemeta 的位置很重要。用这个做一些测试真的很有趣。

如果像 Souders 建议的那样将脚本放置在 body 元素的底部,那么这应该不是问题。

归根结底,最安全的解决方案是跳过元元素,而是使用 HTTP 标头。这就是我会做的。

于 2012-03-22T06:38:57.073 回答