5

Firefox は、不適切な HTML をレンダリングする際に一定の許容範囲を持っています。つまり、終了タグが省略されていても、HTML は問題なく表示されます。この許容範囲の側面は、現在のページのコンテンツを操作または追加するために JavaScript を使用している場合に特に関連します。

私はメインのテスト/開発ブラウザとして Firefox を使用しているため、「より厳密な」ブラウザでは機能が失われるというこの動作に何度も悩まされてきました。たとえば、Microsoft Internet Explorer の同じコードは、追加されたコンテンツに言及されていないタグが原因で、目に見える出力を生成できませんでした。

問題は、受け入れられた HTML についてより厳密になり、「修正を推測」する代わりに失敗するように Firefox に指示する方法はありますか (特に HTML が JavaScript を介して追加されている場合)。

PS: DOCTYPE で遊んでみましたが、結果は同じでした。

4

3 に答える 3

2

HTMLをチェックするためにブラウザを使用しないでください。彼らはそれをするように設計されていません。W3Cのバリデーターなどの実際のバリデーターを使用します。クリックするか自動的にページを検証するFirefox拡張機能がたくさんあるようですが、私はFirefoxをプライマリブラウザとして使用していないため、それらに精通していません。

于 2012-03-09T20:14:23.277 に答える
1

IEで主な作業を行うには、分解するのが最善であることがわかりました。

適切なDoctype(<!DOCTYPE html>)を使用し、x-ua互換ヘッダーをIE8モードに設定すると、他のブラウザーでアプリを機能させたり見栄えを良くしたりするために必要な余分な作業は最小限に抑えられます。

于 2012-03-09T20:07:18.073 に答える
1

すべてのパーサーはある程度寛容です。ほとんどのメインストリーム サイトにはエラーがあります (これが言い訳になるわけではありません)。デバッガーをアタッチして開発すると、スクリプト エラーをはるかに迅速に検出できます。また、ビルド プロセスでミニファイヤを使用してスクリプト エラーをキャッチします (これは、主要な構文の問題で失敗します)。私は、Visual Studio 2010 のリアルタイムの警告 (常に完全であるとは限りません) を使用して HTML マークアップを検証し、w3 検証サービスを定期的に使用しています。

ブラウザの選択については、通常、全面的に開発しています。一度に文字通り、IE7/8/9 モード、Chrome、Firefox を切り替えることができます。Safari と Opera は、前述のブラウザーがカバーされている場合、通常は動作します。このようにして、私は間違った道を進みすぎません。

ところで、DOCTYPE重要です (常にそうであるとは限りませんが)。

于 2012-03-09T20:22:43.077 に答える