浏览器对象模型与客户端检测全解析
1. 插件检测
在网页开发中,有时需要检测浏览器是否安装了特定的插件,如Flash和QuickTime。以下是相关代码示例:
//detect quicktime for all browsers
function hasQuickTime(){
var result = hasPlugin(“QuickTime”);
if (!result){
result = hasIEPlugin(“QuickTime.QuickTime”);
}
return result;
}
//detect flash
alert(hasFlash());
//detect quicktime
alert(hasQuickTime());
这段代码定义了两个函数 hasFlash()
和 hasQuickTime()
。每个函数首先尝试使用非IE的插件检测代码,如果该方法返回 false
(对于IE浏览器会这样),则调用IE的插件检测方法。如果两种方法都返回 false
,则整个方法的结果为 false
;如果任一插件检测函数返回 true
,则整个方法返回 true
。
此外, plugins
集合有一个 refresh()
方法,用于刷新