JS判断浏览器是否安装flash插件的简单方法

1. 直接判断是否有flash插件

?
1
2
3
4
5
6
7
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

Automation 服务器不能创建对象

产生这个问题的原因是因是页面中包含的脚本不能正确的创建对象

解决方法:安装“MSXML 4.0 Service Pack 2 (Microsoft XML Core Services)”补丁,可以去微软的网站上下载(安装文件:msxmlchs.msi),安装完即可解决问题。

注:出现脚本调试错误也有可能与IE的安全级别有关,可以降低IE的安全级别来解决这个问题,也可能需要“scrrun.dll”支持,具体方式为:开始->运行->运行如下命令“regsvr32 scrrun.dll”。

2. 获得flash的版本号

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<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插件的简单方法

转:http://www.jb51.net/article/92570.htm

现在自己用的

function flashChecker(){
		var hasFlash = 0;
		var flashVersion = 0; 
		try{
			if (document.all) {
					  var swf = new ActiveXObject('ShockwaveFlash.ShockwaveFlash');
					  if (swf) {
						hasFlash = 1;
						VSwf = swf.GetVariable("$version");
						flashVersion = parseInt(VSwf.split(" ")[1].split(",")[0]);
					  }
			  
			} else {
			  if (navigator.plugins && navigator.plugins.length > 0) {
				var swf = navigator.plugins["Shockwave Flash"];
				if (swf) {
				  hasFlash = 1;
				  var words = swf.description.split(" ");
				  for (var i = 0; i < words.length; ++i) {
					if (isNaN(parseInt(words[i]))) continue;
					flashVersion = parseInt(words[i]);
				  }
				}
			  }
			}
		}
		catch(e){
			
		}
		return { f: hasFlash, v: flashVersion };
	}




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值