3

簡単な質問ですが、個人的にはすべてのWebページにこれらを含める必要があるのは面倒なので、ちょっと興味があります。

これらの行を除外しますか:

<!DOCTYPE html>
<meta charset="utf-8">

本当にあなたのウェブページを傷つけますか?

4

2 に答える 2

3

場合によります。それらの 1 つまたは両方を省略しても効果がないか、ページが完全に台無しになるか、外観が変化するか (ほとんど目立たないものから劇的なものまで)、一部のブラウザーでは改善される可能性があります。

省略<!DOCTYPE html>すると、通常、ブラウザーはQuirks Modeになります。これは、ブラウザーが (異なる方法で) 古い壊れたブラウザーをエミュレートしようとする機能の大規模なコレクションの単なる言葉です。新しいページの場合、これは一般的に悪いことです。これらの古いブラウザーで動作するように作成された古いページの場合、Quirks モードが必要になる場合があります。

ページが実際に UTF-8 でエンコードされていると仮定すると、省略<meta charset="utf-8">すると、ブラウザーがそのコンテンツを文字レベルで完全に間違って解釈し、災害を引き起こす可能性があります。多くの場合、ブラウザは HTTP ヘッダー (情報がそこに存在する場合) からエンコーディングを推測するか、存在する場合は先頭のバイト オーダー マークからエンコーディングを推測するか、またはヒューリスティック分析 (つまり、推測ベースのデータの実際の内容について)。また、非常に多くの UTF-8 でエンコードされたページに Ascii 文字のみが含まれているため、文字エンコードの問題は主に学術的なものになっています。

ページが実際に UTF-8 でエンコードされて<meta charset="utf-8">いない場合は、もちろん使用しないでください。ただし、省略しても必ずしもその日が節約されるわけではありません。その場合はutf-8、正しいエンコーディング名に置き換えるか、実際のデータのエンコーディングを UTF-8 に変更する必要があります。

于 2012-05-22T04:21:22.347 に答える
0

実際には、ウェブページに損害を与えることはありません。これらの指定子のないページは何百万もあります。また、ドキュメント タイプはサーバーの MIME タイプに含まれていることが多く、すべてではないにしても多くのクライアントが正しいタイプにデフォルト設定されるため、自動検出しない場合、これらの余分なバイトを含める説得力のある理由は実際にはありません。

これらを必要とする何らかの種類の Web デザイナー ソリューションまたはコンテンツ管理ソフトウェアを使用している場合は、答えが異なる可能性があります。

編集: 新しい HTML 機能 (HTML5 など) を使用している場合は、少なくとも基本的な html doctype が必要であることを明確にする必要があると思います。しかし、あなたの質問は、それがあなたのウェブページに損害を与えるかということでした。多くのウェブページ (特に高度な機能を使用していない単純なもの) では、doctype を除外してもページにまったく損害を与えません。また、別の人が述べたように、UTF-8 はデフォルトのエンコーディングであるため、どちらも重要ではありません。

于 2012-05-21T21:57:33.850 に答える