2012-03-19 8 views
0

のは、私たちは、次のHTML構文を持っているとしましょう:無効/不正なHTML構文 - パフォーマンス

<TABLE width=400, height=300> 
<TR> 
    <TD color=Red>SOME TEXT</TD> 
</TR> 
</TABLE> 

それが見られるように、使用され、すべてのタグは大文字を使用して書かれている何のスタイルはありません。これは無効です。私はこの種の間違ったHTML構文がウェブパフォーマンスに影響を与えていることを知らせたいと思いますか?

さらに、クライアントから取得したコードでは、多くのHTMLコントロールがコードビハインドでビルドされ、aspxに注入されます。 このような場合、どのようにパフォーマンスが向上しますか?

+0

この質問を参照してください:http://stackoverflow.com/questions/846994/how-to-use-html-agility-pack HtmlAgilityPackを使用して、悪いhtmlを修正することができます –

答えて

1

大文字の要素はHTMLで有効です。 HTMLは大文字小文字を区別しません。 XHTMLはそうではありませんが、すべてが小文字にする必要があります。

大文字と小文字は、パフォーマンスに影響しません。しかし、多くのCSSインラインでHTMLがパフォーマンスに影響を与える可能性があるのは、外部CSSが各要素ではなくグローバルにスタイルをより効果的に定義することが多いからです。

HTML

http://www.w3.org/TR/html4/about.html#h-1.2.1

要素名は大文字(例えば、BODY)で書かれています。属性名は小文字で表記されます(例:lang、onsubmit)。 HTMLでは、要素名と属性名は大文字と小文字を区別しないことに注意してください。大会は可読性を促進するためのものです。

XHTML

http://www.w3.org/TR/xhtml1/#h-4.2

XHTML文書は、すべてのHTML要素のための下部ケースを使用して、名前を表示しなければなりません。 XMLは大文字と小文字を区別するため、この違いが必要です。 <li><LI>は異なるタグです。

0

HTMLコントロールを構築するサーバー側には、事実上時間がかかりません。さらに、無効なマークアップを受け取ると、ブラウザのレンダリング時間にはほとんど影響しませんが、クライアントを強制的にモードにして、たくさんのスタイルプロパティを使用できなくするため、表示に影響します。

それ以外では、仮説の構文についての情報を求めて、正確に知りたいことがわかりません。

+0

これは架空の構文ではありません。それは私がクライアントから受け取った実際のコードの構文です –

1

一般的なHTML構文の唯一の違反は、<TABLE width=400, height=300>のカンマです。コンマはおそらく属性値の一部として使用され、無視されます。このエラー処理のコストは無視できます。

パフォーマンスはここで問題にはなりません。基本的なレンダリングはです。

tableheight属性はHTML仕様では許可されていません。ブラウザで広くサポートされていますが、サポートは必要ありません(HTML5ドラフトでも一般的にレガシー機能を継続的にサポートする必要があります)、今後のブラウザでは削除される可能性があります。

tdcolor属性は、HTML仕様では許可されていません。私が知っているブラウザではサポートされていません。したがって、テキストを赤色にすることが意図されていた場合、それは失敗します。

結論は、マークアップが必要とすることとマークアップを使用して行うことができます。マークアップを適切に変更することはできないが、CSSルールを挿入することができれば、非標準の非標準属性を修正することさえできます。

<style> 
[color=Red] { color: red; } 
</style> 

これは、あなたが必要とするため面倒です。色ごとに別々のルールを適用することができますが、これは一部の古いブラウザでは機能しません。

+0

素敵で便利な答えです。ありがとう! –