Safariのバージョンを判別する |
Internet Explorer | Netscape Navigator | Opera | iCab | Safari | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
3.0x | 4.0x | 4.5 | 5.0x | 5.5 | 6.0 | 2.0x | 3.0x | 4.0x | 4.x | 6.0 | 7.0 | 6.0 | 7.0 | 2.x | 1.0 | 1.1 | 1.2.x | |
Windows | × | × | - | × | × | × | × | × | × | × | × | × | × | × | - | - | - | - |
Macintosh | × | × | × | × | - | - | × | × | × | × | × | × | × | × | × | ○ | ○ | ○ |
UNIX | - | - | - | - | - | - | × | × | × | × | × | × | × | × | - | - | - | - |
ポイント | var ver = navigator.userAgent.split("/")[3]; var n = eval(ver); if (n > 120) return "1.2"; if (n > 100) return "1.1"; if (n > 86) return "1.0"; return "0"; |
---|---|
説 明 | Safariのバージョンを判別するにはuserAgentが返す文字列から一番最後の数値を抜き出します。これがSafariの内部バージョン(ビルド番号かな)になります。この番号からSafariのバージョン(2004年8月現在では1.0, 1.1, 1.2, 1.2.xがある)を判別します。 |
サンプル | <html> <head> <title>Safariのバージョンを返す</title> <script language="JavaScript"><!-- function getVersion() { var ver = navigator.userAgent.split("/")[3]; var n = eval(ver); if (n > 120) return "1.2"; if (n > 100) return "1.1"; if (n > 86) return "1.0"; return "0"; } // --></script> </head> <body> <form> <input type="button" value="?`?F?b?N" onClick="alert(getVersion())"> </form> </body> </html> |
補足説明 | Safariが返すUserAgentは以下のようになっています。 ●MacOS X 10.2のもの Mozilla/5.0 (Macintosh; U; PPC Mac OS X; ja-jp) AppleWebKit/85.7 (KHTML, like Gecko) Safari/85.6 Mozilla/5.0 (Macintosh; U; PPC Ma c OS X; ja-jp) AppleWebKit/85.7 (KHTML, like Gecko) Safari/85.7 ●MacOS X 10.3のもの Mozilla/5.0 (Macintosh; U; PPC Mac OS X; ja-jp) AppleWebKit/103u (KHTML, like Gecko) Safari/100.1 ●MacOS X 10.3.3のもの Mozilla/5.0 (Macintosh; U; PPC Mac OS X; ja-jp) AppleWebKit/124 (KHTML, like Gecko) Safari/125.1 ●MacOS X 10.3.4のもの Mozilla/5.0 (Macintosh; U; PPC Mac OS X; ja-jp) AppleWebKit/125.2 (KHTML, like Gecko) Safari/125.8 ●MacOS X 10.3.5のもの(v1.2.3) Mozilla/5.0 (Macintosh; U; PPC Mac OS X; ja-jp) AppleWebKit/125.4 (KHTML, like Gecko) Safari/125.9 |
■サンプルスクリプトを実行する >>実行 ■各ブラウザでの動作結果を見る >>View! |