|
一、检测浏览器的名称 问题: 不同的浏览器对javascript的标准支持也有不同,有时希望脚本能够在不同的浏览器上都能运行良好,这时需要对浏览器进行检测,确定其名称,以针对不同的浏览器编写相应的脚本。 解决方案: 使用navigator对象的appName属性。 比如,要检测浏览器是否为IE,可以这么做: var isIE = (navigator.appName == "Microsoft Internet Explorer"); document.write("is IE?" + isIE); 对于FireFox,navigator对象的appName属性值为"Netscape";Opera9.02的appName属性值为"Opera"(其更早版本可能不同);
二、检测浏览器的版本号: 问题: 随着浏览器的版本的更迭,浏览器所支持的脚本特性也在变化,有时候就需要针对不同的版本编写相应的脚本,那么如何获得浏览器的版本号? 解决方案: 通过解析navigator对象的userAgent属性来获得浏览器的完整版本号。 IE将自己标识为MSIE,后面带一个空格,版本号以及分号。所以我们只要取空格和分号之间的部分即可。如Windows XP SP2所带的IE的userAgent属性值为"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)",可以看到其版本为6.0。可以用如下的函数来获取IE浏览器的版本号: function getIEVersonNumber() { var ua = navigator.userAgent; var msieOffset = ua.indexOf("MSIE "); if(msieOffset < 0) { return 0; } return parseFloat(ua.substring(msieOffset + 5, ua.indexOf(";", msieOffset))); } 假设我们要为IE5及以上版本编写脚本,可以这么写: var isIE5Min = (getIEVersonNumber() >= 5); if(isIE5Min) { // perform statements for IE 5 or later &n [1] [2] [3] [4] [5] 下一页 |