2010-11-21 14 views
0

親愛なるすべて 使用しているブラウザによってHTMLのDOCTYPE要素を動的に設定するにはどうすればよいですか?HTML内のDOCTYPE要素

+6

これにはサーバー側の言語が必要です。あなたはどちらを使うことができますか? –

+0

失礼ではありませんが、これはアマチュアの質問です。 doctypeは、作成されているページの型定義を設定するために使用され、その後は変更されません。ブラウザごとにdoctypeを変更することは意味をなさないが、おそらくマークアップの不備を隠蔽すること以外は何も成し遂げられない。適切に書かれたHTMLとCSSは何らかの理由でDoctypeを変更する必要はありません。 – Rob

+0

Pekka、JSでそれをやっているのと同じように、サーバー側の言語を使わずにこれをやろうとしています。 –

答えて

2

なぜこれをやりたいですか?根本的な問題を解決するのが最善です。 HTMLは静的なデータとして提供されることを意図しています。つまり、ある時点でキャッシュを追加すると、全体の「コンテンツネゴシエーション」のトリックは失敗します。また、ブラウザのユーザーエージェントのスニッフィングが100%正確にするのは難しいことに注意してください。時間の経過とともに新しいブラウザとバージョンがリリースされると、ロジックを更新し続ける必要があります。

0

あなたはしていません。ちょうど<!doctype html>を使用してください。 Doctypeは、標準モードを使用するかどうかを判断するためにのみ使用されます。それらを変更することは単なるリソースの無駄です。

1

ページ表示にいくつかの問題があったと思いますので、doctypeを潜在モードまたはhtml4標準に変更する可能性がありますか?このような場合は、ページ全体のdoctypeを変更するよりも、スタイルを調整するほうが時間がかかります。

0

クライアントサイドコードのみを使用することはできません。

サーバー側の言語を自由に使用できない場合は、それぞれのページのいくつかの「バージョン」を作成します。それぞれのドックタイプはJavaScriptを使用してブラウザに応じた適切なページにリダイレクトされます。このパスを選択すると、私に知らせてください。サンプルコードが付属しています。

0

ベストソリューションは<!doctype html>を使用することです、それは、HTML5は、ブラウザによって追加され、より多くのHTML5サポートをbackwards-compatible

プラスであるから、それは変更のために準備する時間の標準DOCTYPEであり、現在すべてのブラウザでサポートされています。