原生JS检测浏览器安装的插件
Posted h祝h
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了原生JS检测浏览器安装的插件相关的知识,希望对你有一定的参考价值。
navigator里面有plugins 这个属性就是用来检测浏览器插件的。plugins 返回的结果 是一个数组形式。
该数组中的每一项都包含下列属性。
? name :插件的名字。
? description :插件的描述。
? filename :插件的文件名。
? length :插件所处理的 MIME 类型数量
例子如下:
function hasPlugin(name){ 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; } //检测 Flash if(hasPlugin("Flash")){
alert(‘你的浏览器有flash插件‘)
};
IE 不支持 Netscape 式的插件。在 IE 中检测插件的唯一方式就是使用专有的 ActiveXObject 类型
//检测 IE 中的插件 function hasIEPlugin(name) { try { new ActiveXObject(name); return true; } catch (ex) { return false; } } //检测 Flash alert(hasIEPlugin("ShockwaveFlash.ShockwaveFlash"));
然后封装下就可以了
function hasPlugins(name) { name = name.toLowerCase(); let result = false; for (var i = 0; i < navigator.plugins.length; i++) { if (navigator.plugins[i].name.toLowerCase().indexOf(name) > -1) { result = true } } if (!result) { try { new ActiveXObject(name); result = true; } catch (ex) { result = false; } } return result; }
以上是关于原生JS检测浏览器安装的插件的主要内容,如果未能解决你的问题,请参考以下文章
js之navigator对象 | 检测浏览器是否安装了某个插件
Feature.js-轻量级浏览器特性检测JavaScript库插件