JS判断浏览器是否安装flash插件的简单方法
1. 直接判断是否有flash插件
var myFlash = (function(){
if(typeof window.ActiveXObject != "undefined"){
return new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
}else{
return navigator.plugins['Shockwave Flash'];
}
})();
chrome:

Edge浏览器中取消了window.ActiveXObject,使用navigator.plugins

在IE其他版本中使用window.ActiveXObject,但是会报错:
Automation 服务器不能创建对象
产生这个问题的原因是因是页面中包含的脚本不能正确的创建对象
解决方法:安装“MSXML 4.0 Service Pack 2 (Microsoft XML Core Services)”补丁,可以去微软的网站上下载(安装文件:msxmlchs.msi),安装完即可解决问题。
注:出现脚本调试错误也有可能与IE的安全级别有关,可以降低IE的安全级别来解决这个问题,也可能需要“scrrun.dll”支持,具体方式为:开始->运行->运行如下命令“regsvr32 scrrun.dll”。
2. 获得flash的版本号
<script>
(function(){
var getFlashVersion = function() {
try {
if(typeof window.ActiveXObject != 'undefined') {
return parseInt((new ActiveXObject('ShockwaveFlash.ShockwaveFlash')).GetVariable("$version").split(" ")[1].split(",")[0], 10);
}else{
return parseInt(navigator.plugins["Shockwave Flash"].description.split(' ')[2], 10);
}
} catch(e){
return 0;
}
};
console.log(getFlashVersion());
})();
</script>
以上这篇JS判断浏览器是否安装flash插件的简单方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
js document.getElementsByClassName的使用介绍与自定义函数
今天在增加一个功能的时候需要用到getElementsByClassName(),getElementsByClassName但是HTML5 新增的DOM API。IE8以下不支持,那么就需要下面的方法解决了2016-11-11
escape、encodeURI 和 encodeURIComponent 的区别
escape(), encodeURI()和encodeURIComponent()是在Javascript中用于编码字符串的三个常用的方法,而他们之间的异同却困扰了很多的Javascript初学者,今天我就在这里对这三个方法详细地分析与比较一下。2009-03-03
Javascript级联下拉菜单以及AJAX数据验证核心代码
最初是只要输入框的两个数据相符就行,现在的要求是两个下拉菜单的数据也要相符,于是,我利用此机会,将代码重构了一次,感兴趣的朋友们可以借此学习一下2013-05-05
JavaScript 组件之旅(四):测试 JavaScript 组件
本期,我们要讨论的话题是 JavaScript 的测试,以检查组件的状态和工作方式是否符合预期,还会介绍一个可以方便编写测试用例的测试方法。这里说的测试当然是使用自动化的测试手段,这是软件质量保证(QA)的重要环节。2009-10-10


最新评论