Safariのバージョンを判別する


動作ブラウザ 【 IE:-  NN:-  Safari:1.x
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!

写真素材 PIXTA