1

XHTML 1.0 strict(content = "text / html)よりもHTML 4.01 strictを使用するプロはいますか?

4

2 に答える 2

4

もちろん。"1 単語の属性に余分な文字/、自己終了要素の文字を含める必要がないため、コードが小さくなります。さまざまな開始タグと終了タグ ( 、、、さらには</p>、、、およびHTML 4.01 (およびHTML5 )ではオプションです。HTMLを削除するためのいくつかのヒントについては、HTML の最適化と HTML の最適化参照してください。これらのアドバイスの多くは、HTML 4.01 または HTML5 でのみ機能します。</li><html><head><body>

さて、誰もがこれほど縮小する必要はありません。ただし、そうする場合は、XHTML の代わりに HTML 4.01 (または HTML5) を使用すると効果的です。

また、Internet Explorer は実際には XHTML を XHTML としてサポートしていません。として送信するとapplication/xhtml+xml、ダウンロードが試行されます。したがって、XHTML を使用する場合は、それを として IE に送信する必要がありtext/htmlます。これにより、ブラウザはそれを HTML として解釈します。なぜ XHTML が悪い考えなのかについてのやや時代遅れの議論については、HTML5 仕様の現在の編集者である Ian Hickson による XHTML が有害であると見なされている を参照してください(これらの理由のいくつかは今でも有効であり、いくつかはもはや関係ありません)。

以下にいくつかの例を示します。

  1. 整形式の XHTML。application/xhtml+xml
  2. 整形式の XHTML。text/html
  3. 整形式の XHTML ではありません。application/xhtml+xml
  4. 整形式の XHTML ではありません。text/html
  5. 整形式の HTML5。text/html

最初のものは IE では機能しないことに注意してください。2 番目はすべてのブラウザーで機能しますが、バイトを浪費しているだけです。たとえば、ブラウザーは名前空間を適切に解釈しないため、XML を別の名前空間に含めても、実際にはスクリプトまたは CSS の別の名前空間に表示されません。3 番目は大きなエラー メッセージを表示し、4 番目は整形式の XHTML ではありませんが (ブラウザーが HTML パーサーを使用していることを示しています)、問題なく表示されます。

5 番目の例で示されているように、HTML 4.01 doctype または HTML5 doctype を使用して、例とまったく同じ効果を得ることができますtext/html(これは、HTML 4.01 doctype を貼り付けた場合でも有効な HTML 4.01 です)。HTML 4.01 または HTML5 を使用すると、多くのスペースを節約でき、ドキュメントを XHTML として処理したり、HTML として処理したりすることで、自分を欺くことはありません。

XHTML を as として提供することに注意する必要があるもう 1 つの理由text/htmlは、HTML パーサーと XML パーサーのどちらで解析するかによって処理が異なることです。たとえば、次のscriptような自己終了タグ<script type="text/javascript" src="foo.js"/>、XHTML で有効であり、XML パーサーによって解析される場合、空の要素として解析されます。ただし、HTML では、これは単にスクリプトの開始タグと見なされ、終了タグが見つかるまでパーサーがスクリプト内にあると想定して解析を続けるため、ドキュメントの残りの部分を「食べる」ことになります。これはあなたが望むものではない可能性が高く、文書を XML として扱い、HTML として扱う場合はつまずく可能性があります。この問題の例を次に示します。これらの 2 つのドキュメントは、内容が同じであっても Firefox では異なって表示されます (Safari はそれらを同じように扱うように見えるため、この問題の範囲はブラウザによって異なります)。

HTML パーサーと XHTML パーサーの違いはこれだけではありません。HTML では、ソースに a がない場合でも、暗黙的に DOM に<table>a が挿入されます。<tbody>XHTML では、a を<tbody>明示的に指定しないと、DOM に存在しません。

したがって、XHTML を as として提供text/htmlすると、HTML 4.01 または HTML5 を使用した場合よりもコードが大きくなり、実際の XML として処理したり、HTML として処理したりすると、混乱が生じる可能性があります。

于 2010-01-24T05:05:46.660 に答える
0

はい: HTML 4.01 を text/html として送信する場合は標準に準拠していますが、XHTML 1.0 を text/html として厳密に送信する場合は標準に準拠していません。実際、ブラウザーは、XHTML を HTML として送信すると、HTML 4.01 を送信していると認識します。

于 2010-01-24T05:05:58.737 に答える