JavaScript Support Check

JavaScriptサポートを基準にしたブラウザ判定 Script

2005/09/27 (Ver 0.5.0+)

このScriptは、いわゆるフリー(使用自由、改造自由かつ自己責任)な JavaScript なのでこれを使用しても作者が対価を求める事は、有りません。→ (無料)

どのような機能が有るのか?

ブラウザが固有にサポートする[object]や、機能を利用して短いコードでウェブブラウザを判定します。 なるべく従来の UserAgent 文字列判別ばかりに頼らないので特に IEでのUserAgen偽装をされると困るので除外処理したい場合等の用途をターゲットにしています。

ダウンロード・ソースコード

エラー補正追加 : (Thu, 27 Sep 2005 07:00:00 +0900) サンプル JavaScript の getVersion()関数内の Gecko: rv を取り出す箇所に、存在しない変数を操作していたので Geckoでは エラーが発生し、 "バージョンチェック ダイアログ" が出ませんでしたので訂正しました。 基本部分コードには、変化ありませんのでお知らせします。

/* ++++ JavaScript Support Check 2005/07/14 (Ver 0.5.0) ++++ */

var d = document;
var nv = navigator;
var an = nv.appName;
var ua = nv.userAgent;

var axo = (window.ActiveXObject) ? 1 : 0;
var gtn = (d.getElementsByTagName) ? 1 : 0;
var ccs = (d.createCDATASection) ? 1 : 0;
var cns = (d.createElementNS) ? 1 : 0;
var cm  = (d.compatMode) ? 1 : 0;
var op = (window.opera) ? 1 : 0;
var vs = (nv.vendor && typeof nv.vendor == 'string') ? 1 : 0;

var jsv = 0;
var winIe = 0;
var macIe = 0;
/*@cc_on jsv = @_jscript_version; @if (@_win64 || @_win32 || @_win16) winIe = 1; @elif (@_mac && (@_PowerPC || @_mc680x0)) macIe = 1; @end @*/

var winIe7 = (winIe && gtn && cm && axo && jsv > 5.6) ? 1 : 0;
var winIe6 = (winIe && gtn && cm && axo && jsv == 5.6) ? 1 : 0;
var winIe55 = (winIe && gtn && !cm && axo && jsv == 5.5) ? 1 : 0;
var winIe5 = (winIe && gtn && !cm && axo) ? 1 : 0;
var winIe4 = (winIe && d.all && !gtn && axo) ? 1 : 0;
var macIe5 = (macIe && gtn && !cm && !cns && ccs) ? 1 : 0;
var macIe4 = (macIe && d.all && !gtn && !axo) ? 1 : 0;
var op8 = (op && cns && ccs) ? 1 : 0;
var op7 = (op && cns && !ccs && cm) ? 1 : 0;
var op6 = (op && !cns && !cm) ? 1 : 0;
var saf = (vs && ccs && cns && ua.indexOf('AppleWebKit') != -1) ? 1 : 0;
var kde = (vs && ccs && cns && ua.indexOf('Konqueror') != -1) ? 1 : 0;
var gec = (vs && ccs && cns && nv.product && nv.product == 'Gecko' && !saf && !kde) ? 1 : 0;
var nn4 = (d.layers && typeof d.layers == 'object') ? 1 : 0;
// var ica = (vs && nv.vendor == 'iCab') ? 1 : 0;

判別ブラウザ

対応するブラウザが有った場合、各変数の内どれかが、1 のフラグを立てます。

Internet Explorer (Win32/Win64 or MacPPC)
winIe4 = 1 → Win IE 4.0 - 4.01
winIe5 = 1 → Win IE 5.0 - 5.01
winIe55 = 1 → WinIE 5.5
winIe6 = 1 → WinIE 6.0
winIe7 = 1 → WinIE 7.0
macIe4 = 1 → MacIE 4.0 - 4.5x
macIe5 = 1 → Mac IE 5.0 - 5.23
Safari
saf = 1 → (バージョン判定無し)
Konqueror (KHTML)
kde = 1 → (バージョン判定無し)
Gecko (Netscpe 6+, Firefox, Camino)
gec = 1 → (バージョン判定無し)
Opera (6+ 以降)
op6 = 1 → Opera 6.x
op7 = 1 → Opera 7.x
op8 = 1 → Opera 8.x
Netscape 4
nn4 = 1 → Netscape 4.x

更新履歴

Ver 0.5.0+ [2005/09/27]
サンプル関数の修正
Ver 0.5.0 [2005/07/14]
初公開

使用条件

  1. 作者(Hiro Konda)及び、開発協力者は、当JavaScriptが使用者の求める目的に合致する事を保証しません。又、動作に対する損害が発生したとしても、一切の責任は免責される事とします。
  2. 作者(Hiro Konda)及び、開発協力者が、このJavaScript(今後の改良されたバージョンを含む)を使用及び配布する事を阻まない限り、改造版の使用、再配布に伴う、JavaScriptコード内の著作者(Hiro Konda)欄の省略は自由です。