2

Google のスタイル ガイドによると、次のようなオプションのタグは省略してください。<head>

http://google-styleguide.googlecode.com/svn/trunk/htmlcssguide.xml#Optional_tags

ただし、そうすると、Googleのページ速度から次のように通知されます。

ドキュメント本文の CSS は、レンダリングのパフォーマンスに悪影響を及ぼします。 http://site.comのドキュメント本文に CSS があります: 本文の 1 つのスタイル ブロックをドキュメント ヘッドに移動する必要があります。

では、どうすればよいのでしょうか。

ありがとう。

4

3 に答える 3

1

このような場合、PageSpeed は信頼できません。文書構造が正しいかどうかを分析する必要があります。HTML 4.01 とバリデーターを使用すると、何らかのstyle要素が 内bodyに表示されているかどうかがすぐにわかります。これは、マークアップ エラーであるためです (ただし、そこでも機能します)。

あなたの引用が言及しているページhttp://site.comには、この問題はありません (タグの省略なしの XHTML です)。実際の URL を投稿するか、少なくとも .example 疑似ドメインを使用して URL がダミーであることを知らせてください。

実際のページを見ないと問題を分析することはできませんが、一般的に Google PageSpeed は偽のコメントを発行するようです。一貫性がないように見えますが、少なくとも場合によっては、ドキュメントを明らかに間違って解析します。たとえば、次のコードはメッセージをトリガーしました。

<!doctype html>
<title>foo</title>
<style></style>
<h1>foo</h1>

ここにはあいまいさはありません.style要素は要素headの中にあります.PageSpeedはそうではないと主張していますが.

省略されたタグを追加しようとしましたが、突然 PageSpeed がメッセージの発行を停止し、上記のドキュメントがクリーンなレポートを取得するまで効果はありませんでした。おそらく積極的なキャッシングが原因で、PageSpeed は非決定論的に動作すると結論付けています。

于 2012-05-25T11:00:18.470 に答える
1

このリンクは、一部のタグを省略できる条件を示しています。

http://www.whatwg.org/specs/web-apps/current-work/multipage/syntax.html#syntax-tag-omission

ただし、タグを省略しても要素を省略できるわけではないことに注意してください

あなたの場合、<head>はオプションです(htmlも)。やるだけ

<!DOCTYPE html>     
  <link rel="stylesheet" href="pathTo.css">

あなたはに見えるかもしれません

HEADタグ、BODYタグ、HTMLタグは書く必要がありますか?

実験したい読者のために、次のコードをファイルに保存して読んで、firebug のようなツールで確認してください。

<!DOCTYPE html>     
 <meta http-equiv="Content-type" content="text/html; charset=utf-8">
 <title>Page Title</title>
 <link rel="stylesheet" href="pathTo.css">
 <script>var a = 0;</script><!-- placed in head -->

 <div>any html text or tags</div>
 <script> var b = 1</script> <!-- placed in body -->
于 2012-05-25T09:23:37.270 に答える
0

仕様から:

要素が空の場合、または body 要素内の最初の要素がスクリプトまたはスタイル要素である場合を除き、 body 要素内の最初の要素がスペース文字またはコメントでない場合、body 要素の開始タグは省略できます。

これが問題の原因である可能性が最も高いようです。これにより、開始 body タグがオプションでなくなるためです。

(これは、選択だけでなく、すべてのオプションのタグを削除する指示に従ったことを前提としています)

于 2012-05-25T09:14:44.133 に答える