+++ /dev/null
-/*\r
- * ua.js\r
- * $Revision: 1.2 $ $Date: 2003/02/07 16:04:17 $\r
- */\r
-\r
-/* ***** BEGIN LICENSE BLOCK *****\r
- * Version: MPL 1.1/GPL 2.0/LGPL 2.1\r
- *\r
- * The contents of this file are subject to the Mozilla Public License Version\r
- * 1.1 (the "License"); you may not use this file except in compliance with\r
- * the License. You may obtain a copy of the License at\r
- * http://www.mozilla.org/MPL/\r
- *\r
- * Software distributed under the License is distributed on an "AS IS" basis,\r
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License\r
- * for the specific language governing rights and limitations under the\r
- * License.\r
- *\r
- * The Original Code is Netscape code.\r
- *\r
- * The Initial Developer of the Original Code is\r
- * Netscape Corporation.\r
- * Portions created by the Initial Developer are Copyright (C) 2001\r
- * the Initial Developer. All Rights Reserved.\r
- *\r
- * Contributor(s): Bob Clary <bclary@netscape.com>\r
- *\r
- * ***** END LICENSE BLOCK ***** */\r
-\r
-function xbDetectBrowser()\r
-{\r
- var oldOnError = window.onerror;\r
- var element = null;\r
-\r
- window.onerror = null;\r
- \r
- // work around bug in xpcdom Mozilla 0.9.1\r
- window.saveNavigator = window.navigator;\r
-\r
- navigator.OS = '';\r
- navigator.version = parseFloat(navigator.appVersion);\r
- navigator.org = '';\r
- navigator.family = '';\r
-\r
- var platform;\r
- if (typeof(window.navigator.platform) != 'undefined')\r
- {\r
- platform = window.navigator.platform.toLowerCase();\r
- if (platform.indexOf('win') != -1)\r
- navigator.OS = 'win';\r
- else if (platform.indexOf('mac') != -1)\r
- navigator.OS = 'mac';\r
- else if (platform.indexOf('unix') != -1 || platform.indexOf('linux') != -1 || platform.indexOf('sun') != -1)\r
- navigator.OS = 'nix';\r
- }\r
-\r
- var i = 0;\r
- var ua = window.navigator.userAgent.toLowerCase();\r
- \r
- if (ua.indexOf('opera') != -1)\r
- {\r
- i = ua.indexOf('opera');\r
- navigator.family = 'opera';\r
- navigator.org = 'opera';\r
- navigator.version = parseFloat('0' + ua.substr(i+6), 10);\r
- }\r
- else if ((i = ua.indexOf('msie')) != -1)\r
- {\r
- navigator.org = 'microsoft';\r
- navigator.version = parseFloat('0' + ua.substr(i+5), 10);\r
- \r
- if (navigator.version < 4)\r
- navigator.family = 'ie3';\r
- else\r
- navigator.family = 'ie4'\r
- }\r
- else if (ua.indexOf('gecko') != -1)\r
- {\r
- navigator.family = 'gecko';\r
- var rvStart = ua.indexOf('rv:');\r
- var rvEnd = ua.indexOf(')', rvStart);\r
- var rv = ua.substring(rvStart+3, rvEnd);\r
- var rvParts = rv.split('.');\r
- var rvValue = 0;\r
- var exp = 1;\r
-\r
- for (var i = 0; i < rvParts.length; i++)\r
- {\r
- var val = parseInt(rvParts[i]);\r
- rvValue += val / exp;\r
- exp *= 100;\r
- }\r
- navigator.version = rvValue;\r
-\r
- if (ua.indexOf('netscape') != -1)\r
- navigator.org = 'netscape';\r
- else if (ua.indexOf('compuserve') != -1)\r
- navigator.org = 'compuserve';\r
- else\r
- navigator.org = 'mozilla';\r
- }\r
- else if ((ua.indexOf('mozilla') !=-1) && (ua.indexOf('spoofer')==-1) && (ua.indexOf('compatible') == -1) && (ua.indexOf('opera')==-1)&& (ua.indexOf('webtv')==-1) && (ua.indexOf('hotjava')==-1))\r
- {\r
- var is_major = parseFloat(navigator.appVersion);\r
- \r
- if (is_major < 4)\r
- navigator.version = is_major;\r
- else\r
- {\r
- i = ua.lastIndexOf('/')\r
- navigator.version = parseFloat('0' + ua.substr(i+1), 10);\r
- }\r
- navigator.org = 'netscape';\r
- navigator.family = 'nn' + parseInt(navigator.appVersion);\r
- }\r
- else if ((i = ua.indexOf('aol')) != -1 )\r
- {\r
- // aol\r
- navigator.family = 'aol';\r
- navigator.org = 'aol';\r
- navigator.version = parseFloat('0' + ua.substr(i+4), 10);\r
- }\r
- else if ((i = ua.indexOf('hotjava')) != -1 )\r
- {\r
- // hotjava\r
- navigator.family = 'hotjava';\r
- navigator.org = 'sun';\r
- navigator.version = parseFloat(navigator.appVersion);\r
- }\r
-\r
- window.onerror = oldOnError;\r
-}\r
-\r
-xbDetectBrowser();\r
-\r