/** * H_Browser - ブラウザ名とブラウザバージョンを取得するクラス * @version 0.4 * @author H-Hash (studyinghttp.net) */ function H_Browser() { /** ブラウザ名 */ var name = undefined; /** ブラウザバージョン */ var version = undefined; /** ブラウザのメジャーバージョン */ var majorVersion = undefined; /** MSIE の場合に真 */ var isMsie = false; /** Firefox の場合に真 */ var isFirefox = false; /** Chrome の場合に真 */ var isChrome = false; /** Safari の場合に真 */ var isSafari = false; /** Opera の場合に真 */ var isOpera = false; // コンストラクタ { _parseUaString(); _setProperties(); } // User-Agent 文字列を解析する function _parseUaString() { if (_isBrowser("MSIE")) { _parseMsie(); } else if (_isBrowser("Firefox")) { _parseFirefox(); } // Chorme の判定式は Safari よりも前に持ってこないと誤判定してしまうので注意 else if (_isBrowser("Chrome")) { _parseChrome(); } else if (_isBrowser("Safari")) { _parseSafari(); } else if (_isBrowser("Opera")) { _parseOpera(); } } function _isBrowser (browserName) { return navigator.userAgent.indexOf(browserName) >= 0 ? true : false; } function _parseMsie() { navigator.userAgent.match(/MSIE ([\d\.]+)/); name = "Internet Explorer"; version = RegExp.$1; isMsie = true; } function _parseFirefox() { navigator.userAgent.match(/Firefox\/([\d\.]+)/); name = "Mozilla Firefox"; version = RegExp.$1; isFirefox = true; } function _parseChrome() { navigator.userAgent.match(/Chrome\/([\d\.]+)/); name = "Google Chrome"; version = RegExp.$1; isChrome = true; } function _parseSafari() { navigator.userAgent.match(/Version\/([\d\.]+) Safari\/[\d\.]+/); name = "Safari"; version = RegExp.$1; isSafari = true; } function _parseOpera() { navigator.userAgent.match(/Opera[\/ ]([\d\.]+)/); name = "Opera"; version = RegExp.$1; isOpera = true; } // プロパティにセットする function _setProperties() { var base = H_Browser.prototype; base.name = name; base.version = version; base.majorVersion = parseInt(version); base.isMsie = isMsie; base.isFirefox = isFirefox; base.isChrome = isChrome; base.isSafari = isSafari; base.isOpera = isOpera; } }