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">

私が研究を読んでいない可能性のある問題/問題:

  • パフォーマンス
  • 切り替える前の古いレイアウトエンジンレイアウトのフラッシュ...

本能は私にメタタグをできるだけ早く置くように言います、しかし何か確かな証拠はありますか?

4

1 に答える 1

1

確かな証拠ではありませんが、私の理論です。ドキュメントにはまだ本文がないため、ヘッド要素が終了した後、ペイントやフローは作成されていません。body要素が解析されてペイントが開始されたとき、X-UA-Compatibleディレクティブはすでに処理されているはずです。したがって、スタイルシートに関しては、問題ではありません。

deferただし、スクリプトは解析をブロックしており、属性を使用し、IEバージョンがそれをサポートしていない限り、スクリプトが表示されたときに実行されます。

ただし、遅延コールバックが変更を取得すると主張することもできます。onContentLoadedコールバック、window.onloadコールバック、コールバックを念頭setTimeoutに置いています。したがって、スクリプトに関しては、X-UA-Compatibleメタの位置が重要です。これを使っていくつかのテストを行うのは本当に興味深いでしょう。

Soudersが推奨するように、スクリプトがbody要素の下部に配置されている場合でも、問題はないはずです。

結局のところ、最も防弾の解決策は、メタ要素をスキップし、代わりにHTTPヘッダーを使用することです。それが私がすることです。

于 2012-03-22T06:38:57.073 に答える