0

HTML を書いた経験はあまりありません。私が知っているように、次のような一部のエラーはモーデンの Web ブラウザから報告されません。

<html>
<ol>
<li> ordered item 1
<li> ordered item 2
</ul>

<ul>
<li> unordered item 1
<li> unordered item 2
</ul>
</html>

<ol>との間の不一致エラーを報告する代わりに、</ul>次のようにページをレンダリングします。

  • 注文品 1
  • 注文品 2

    • 未注文品 1
    • 未注文品 2

    不思議なんだけど:

    HTML にどのようなエラーがあっても、Web ブラウザーは Web ページをレンダリングしますか?

    すなわち

    Web ブラウザが HTML のエラーを報告するのはどのような場合ですか?

    さらに、このエラー報告なしは HTML5 仕様で必要ですか?

  • 4

    2 に答える 2

    2

    HTML にどのようなエラーがあっても、Web ブラウザーは Web ページをレンダリングしますか?

    HTML シリアライゼーションでは、最新のブラウザは、マークアップ エラーを許容するように設計された解析アルゴリズムに従っており、完全な入力ストリームから生成されたものは何でもレンダリングします。

    XHTML シリアライゼーションでは、解析は XML 解析規則に従う必要があります。これは、整形式エラーが発生した場合、入力ストリームの解析を停止する必要があることを意味します。ブラウザーはエラーを報告する必要はなく(Firefox は報告しますが、IE9 は報告しません)、解析を停止しなければならなかった時点で構築した DOM を単純にレンダリングし、HTML5 に準拠したままにすることを選択できます。

    Web ブラウザが HTML のエラーを報告するのはどのような場合ですか?

    XHTML シリアライゼーションを使用する場合の XML 整形式エラーを除いて、ブラウザーは実際にはエラーを報告しません。もしそうなら、彼らはページが書かれたときに作者が間違いを犯したかどうかに少しも興味を持っていないユーザーに伝えています. ユーザーが望むのは、コンテンツへのアクセスだけです。

    さらに、このエラー報告なしは HTML5 仕様で必要ですか?

    いいえ、そうではありません。ブラウザは、そのようなエラーを報告したい場合に資格があります。HTML シリアライゼーション解析アルゴリズムは、いつエラーが発生するかについて非常に明確です。マークアップの場合、関連するルールは次のように述べています。

    タグ名が「address」、「article」、「aside」、「blockquote」、「button」、「center」、「details」、「dialog」、「dir」、「div」のいずれかである終了タグ"dl"、"fieldset"、"figcaption"、"figure"、"footer"、"header"、"hgroup"、"listing"、"menu"、"nav"、"ol"、"pre"、"section "、"概要"、"ul"

    開いている要素のスタックに、トークンのタグ名と同じタグ名を持つ要素がスコープ内にない場合、これは解析エラーです。トークンを無視します。

    ...

    次に、解析エラーを処理するためのルールでは、ブラウザーがエラーを報告する必要も、報告しない必要もありません。バリデーターは、そのような解析エラーを少なくとも 1 つ報告する必要があります。

    于 2012-11-29T08:11:41.057 に答える
    2

    これに対する答えは、 HTMLXHTMLの違いにあります。

    HTML5 の重要なポイントは、text/html と application/xhtml+xml の両方として機能する 1 つの仕様を持つことです。これは、2005 年に Web 開発を始めた場合に非常に差し迫っていた XHTML の歴史的な問題の多くに対処しています。それに関する調査は、読者の演習として残しておきます。

    HTML5 コンテンツをXMLとして提供している(つまり、MIME タイプ application/xhtml+xml を使用している) 場合、クライアントがエラーで解析に失敗することが予想されます。

    XML Parsing Error: mismatched tag. Expected: </ol>.
    

    または、通常の text/html として提供するだけの場合、形式の整っていないドキュメントに対する標準の未定義のブラウザ動作が期待できます

    壊れた html ドキュメントが、Web ブラウザで表示されたときに必ずしも機能するとは限らないことを明確にしたいと思います。このようなタグの不一致は、通常、ページの表示がおかしくなる原因となります。

    于 2012-11-29T06:03:38.207 に答える