如何使用Javascript在IE中检测插件是否可用

插件在不同的浏览器中可能是以不同的方式存在的。在某些时候,我们会遇到这样一个需求“先测试某插件是否存在,然后再继续下一步”,这个需求在不同的浏览器中的实现有所区别。

简单来说,实现分别如下:

1、在Firefox中可以用navigator.plugins列举出所有可用的插件,然后进行遍历测试即可;

2、在Internet Explorer中则需要分别用new ActiveXObject('**插件的ProgID**'),如果插件不存在将不能创建相应的ActiveXObject对象,由此进行插件的检测;

 

对于【1】,可以使用每个plugin的name进行测试,比如:对于quicktime,可以使用 plugins[索引].name.toLowerCase().indexOf('quicktime')!=-1 进行测试。这里你需要知道plugin的部分或完整名称。

对于【2】,像前面所说,需要使用new ActiveXObject,然后“检测能否成功创建一个对象”来进行判断,而这里需要先知道插件的ProgID(ProgID是程序员给某个CLSID指定一个易记的名字。组成:<program>.<component>.<version>),而ProgID和CLSID在注册表中会有对应记录,所以可以在注册表中,由CLSID查找到对应的ProgID。

 

注:

1、参考资料《How to Find CLSID ActiveX in IE

2、IE11版本开始有navigator.plugins,但是需要插件先在注册表中进行注册,具体看微软官方的《Cross-browser plugin detection

 

» 本文链接地址:https://www.xidige.com/745

打开支付宝扫一扫,即可进行扫码打赏哦

扫码支持
扫码打赏,你说多少就多少

标签:

分享到:

扫一扫 在手机阅读、分享本文

上一篇: 下一篇:
评论区0人评论184人参与

电子邮件地址不会被公开。 必填项已用*标注

*

loading

赞助商广告