2

すべてのhtml要素をbodyタグに配置する必要があることはわかっていますが、htmldtdの上に2つの非表示の入力を配置する必要があります。私のhtmlファイルは標準ではないと思いますが、それは悪いことですか?次のコードがあります。

<input type='hidden' id='current_controller'>
<input type='hidden' id='current_module'>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

リスクとは何ですか?今のところ問題ありません。

4

3 に答える 3

4

リスクは、IIRC、IE6がdoctype最初の行でない場合に問題が発生することです。また、これは標準的な方法ではなく、他のブラウザで癖を引き起こす可能性があります(ただし、ほとんどの場合は寛容である必要があります)。

また、XHTMLを使用しているようです...したがって、これらの入力要素には終了タグがないため、自己終了する必要があります。

<input type='hidden' id='current_controller' />
<input type='hidden' id='current_module' />
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

彼らがそこにいなければならない理由はありますか?body要素内のどこかに配置できないのはなぜですか?valueそれらの存在を確認するか、valueJavaScriptを介して属性を追加しない限り(つまり、JavaScriptを介してこれらの要素自体を追加することもできます)、属性がない場合、実際の使用法はわかりません。

于 2009-05-24T23:47:12.410 に答える
2

これを実際にXHTMLとして提供していて、XMLパーサーを介して実行している場合、マークアップが無効であるため、レンダリングされません。

于 2009-05-25T01:08:30.813 に答える
1

リスクは、ドキュメントが無効であるため、一部のブラウザまたは同じブラウザの異なるバージョン(および現在これが機能する可能性のある将来のバージョンのブラウザ)で正しくレンダリングされない可能性があることです。

あなたがこれをする必要があるような場合がどうなるかはわかりません。このアプローチでどのような問題を解決しようとしていますか?おそらく、そこから抜け出そうとしている別の質問がありますか?:)

于 2009-05-25T00:04:09.990 に答える