2008/04/01

[JavaScript]CSSの表示モードの確認

スタイルシートに「表示モード」というのがあることを知りました。
TAG indexの「表示モードの違い」によると、

一般的なブラウザ(古いバージョンを除く)には、「標準モード」と「互換モード」という2つの表示モードが備わっています。
(DOCTYPE宣言の記述にURLを含めるかどうかにより、ブラウザ側の表示モードが自動的に切り替わる仕組みになっています。)

via:表示モードの違い

と書いてあって、モードの違いにより、スタイルシートの解釈にも影響を及ぼしてまうようです。

そこで、JavaScriptで、表示モードの確認ができないかと思い、ぐぐった結果、下の方法で取得できることがわかりました。

document.compatMode

ブログ内で実行できるように実装しました。

CSSの表示モード:


IE、firefoxでは、標準モード(Standard)のCSS1Compat、または、互換モード(Quirks)のBackCompatを返します。

また、DOCTYPE宣言方法ですが、とみぞーノートさんのブラウザのレンダリングモードより、

・Standardモードが選択されるケース
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
・Quirksモードが選択されるケース
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

via:ブラウザのレンダリングモード

をhtmlより前に宣言することで、モードを決めることができるようです。

で、これが何に役にたつかというと、ちょい別のテーマになってしまうので、明日の記事に書きたいと思います。

1 件のコメント:

  1. >>互換モード
    互換モードなんて用意する時間があったら
    最初っから互換性持たせておけよ!
    …とクロスブラウザで悩む身としては思うねー。

    しかし、気にした事無かったけどこれで
    標準モードと互換モード切り替えられるのか。なるほど。

    返信削除