1.
插件是一类特殊的程序 。 他可以扩展浏览器的功能 , 通过下载安装完成 。 比如 , 在线音
乐、视频动画等等插件。
// 检测非 IE 浏览器插件是否存在
function hasPlugin(name) {
var name = name.toLowerCase();
for (var i = 0; i < navigator.plugins.length; i ++) {
if (navigator.plugins[i].name.toLowerCase().indexOf(name) > -1) {
return true;
}
}
return false;
}
alert(hasPlugin('Flash')); // 检测 Flash 是否存在
IE 浏览器没有插件 , 但提供了 ActiveX 控件 。 ActiveX 控件一种在 Web 页面中嵌入对象
或组件的方法。
由于在 JS 中,我们无法把所有已安装的 ActiveX 控件遍历出来,但我们还是可以去验
证是否安装了此控件。
// 检测 IE 中的控件
function hasIEPlugin(name) {
try {
new ActiveXObject(name);
return true;
} catch (e) {
return false;
}
}
// 检测 Flash
alert(hasIEPlugin('ShockwaveFlash.ShockwaveFlash'));
PS : ShockwaveFlash.ShockwaveFlash 是 IE 中代表 FLASH 的标识符,你需要检查哪种
件,必须先获取它的标识符。
PS : ShockwaveFlash.ShockwaveFlash 是 IE 中代表 FLASH 的标识符,你需要检查哪种
控件,必须先获取它的标识符。
// 跨浏览器检测是否支持 Flash
function hasFlash() {
var result = hasPlugin('Flash');
if (!result) {
result = hasIEPlugin('ShockwaveFlash.ShockwaveFlash');
}
return result;
}
// 检测 Flash
alert(hasFlash());