0

私は「XHTML1.0」と思われる大規模なWebサイトに取り組んでいますが、有効なHTMLは言うまでもなく、有効なXHTMLとはほど遠いものです。

私たちはIE7をサポートすることを余儀なくされており、無効なコードが原因で、多くの場所で修正不可能な方法で問題が発生しています。私はこの問題を調査しましたが、それを修正する唯一の方法は、IE7でサイトを標準モードでレンダリングすることです。

サイトを検証することはすでに大規模な作業であるため、HTML5Doctypeへの更新を提案したほうがよいと思います。

しかし、私たちの主な要件はIE7をサポートすることであり、IE7標準モードでページをレンダリングするためには、HTML4.01遷移Doctypeまたは他のDoctypeに検証する方がよいのではないかと思います。

前もって感謝します。

4

3 に答える 3

1

IE7 を標準に最も近いモードで動作させるという点では、これら 3 つの Doctype はまったく同等の仕事をします:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<!DOCTYPE html>

(最初の 2 つの移行版の対応物は、まったく異なる仕事をすることに注意してください)

ひどく無効な Web サイトを有効にするという点では、必要な作業は異なりますが、量は非常に似ています。ただし、IE7 はバリデーターと同じ方法で XHTML を解析できないため、XHTML 1.0 への検証は避けてください。そのため、有効な XHTML は本当に壊れた HTML です。

必要に応じて HTML5 に移行すべきではない技術的な理由はありませんが、同時にそれは特効薬でもありません。

于 2012-05-09T21:04:15.520 に答える
0

さらに調べてみると、XHTML 1.0 で検証するのが最も簡単なようです。HTML5 への検証は簡単だと思っていましたが、実際には、XHTML doctype よりも HTML5 doctype の方が多くの検証エラーをスローします。これは、HTML5 では、使用されている多くの表示用 HTML 属性が許可されていないためです。奇妙なことに、HTML5 は表の行の列が少なすぎることも検出しますが、XHTML の検証は気にしないようです。

したがって、一般的には、元の doctype に固執するだけが答えのように見えます。Doctype を切り替えても、無効なコードは解決されず、追加の無効性がもたらされます。

于 2012-05-15T22:29:54.330 に答える
0

個人的には、XHTML Strict を使用します。doctype に基づくモードでレンダリングするブラウザーについて詳しくは、こちらを参照してください。ただし、IE7 と、HTML と XHTML の両方の厳密な doctype のいずれかについては明確です。

于 2012-05-09T21:03:59.887 に答える