IEブラウザのmodeについて
2915 ワード
IEブラウザは、IE 8から取得したドキュメントモード(document mode)属性:documentModeを追加した.
一般的なドキュメント取得モードはvar mode=documentと書くことができます.documentMode;
各IEブラウザでの値は次の表の通りです.
ブラウザのバージョン
IE6
IE7
IE8
IE 8互換モード
IE9
IE 9互換モード
IE10
IE 10互換モード
値
undefined
undefined
8
7
9
7 or 8
10
7 or 8 or 10
それ以外に、IEの変なモード(Quirks Mode)の下で、document.documentMode==5.
以前、JavaScriptでブラウザのバージョン番号を取得したとき、次のような方法を使っていました.
その後、あるプロジェクトでは、上からブラウザバージョンを取得し、ページを設定したときに効果がなかったことがわかりました.これでやっと「ドキュメントモード」というものが見つかりました.
jspに次のコードを追加するとします.
そしてIE 7でこのページを開き、getheVersion()メソッドで取得した結果は依然として7であり、
しかし実際に取り込まれたdocumentModeは8であり,ページもIE 8モードで解析される.
そこで、あるネットユーザーはIEバージョンを判断する方法を提供した.
documentModeに関連付けられているcompatModeプロパティもあります.
compatModeプロパティの唯一の使命は、ブラウザがどのモードにあるかを示すことです.
参考資料:
http://yiminghe.iteye.com/blog/802021
一般的なドキュメント取得モードはvar mode=documentと書くことができます.documentMode;
各IEブラウザでの値は次の表の通りです.
ブラウザのバージョン
IE6
IE7
IE8
IE 8互換モード
IE9
IE 9互換モード
IE10
IE 10互換モード
値
undefined
undefined
8
7
9
7 or 8
10
7 or 8 or 10
それ以外に、IEの変なモード(Quirks Mode)の下で、document.documentMode==5.
以前、JavaScriptでブラウザのバージョン番号を取得したとき、次のような方法を使っていました.
//get IE version.
//if not IE ,return 0
function getIEVersion() {
var ua = navigator.userAgent;
var version = ua.indexOf("MSIE ");
if (version < 0) {
return 0;
}
return parseFloat(ua.substring(version + 5, ua.indexOf(";", version)));
}
その後、あるプロジェクトでは、上からブラウザバージョンを取得し、ページを設定したときに効果がなかったことがわかりました.これでやっと「ドキュメントモード」というものが見つかりました.
jspに次のコードを追加するとします.
<meta http-equiv="x-ua-compatible" content="IE=8;" />
そしてIE 7でこのページを開き、getheVersion()メソッドで取得した結果は依然として7であり、
しかし実際に取り込まれたdocumentModeは8であり,ページもIE 8モードで解析される.
そこで、あるネットユーザーはIEバージョンを判断する方法を提供した.
var ieMode=document.documentMode;
var isIE=!!window.ActiveXObject;
var isIE6=isIE&&!window.XMLHttpRequest;
var isIE7=isIE&&!isIE6&&!ieMode||ieMode==7;
var isIE8=isIE&&ieMode==8;
var isIE9=isIE&&ieMode==9;
var isIE10=isIE&&ieMode==10;
documentModeに関連付けられているcompatModeプロパティもあります.
compatModeプロパティの唯一の使命は、ブラウザがどのモードにあるかを示すことです.
, document.compatMode “CSS1Compat”
, document.compatMode “BackCompat”
参考資料:
http://yiminghe.iteye.com/blog/802021