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

来源:互联网 发布:windows我的电脑图标 编辑:程序博客网 时间:2024/05/20 15:09

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

?
1
2
3
4
5
6
7
varmyFlash = (function(){
  if(typeofwindow.ActiveXObject != "undefined"){
    returnnew ActiveXObject("ShockwaveFlash.ShockwaveFlash");
  }else{
    returnnavigator.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(){
        vargetFlashVersion = function() {
        try{
            if(typeofwindow.ActiveXObject != 'undefined') {
               returnparseInt((newActiveXObject('ShockwaveFlash.ShockwaveFlash')).GetVariable("$version").split(" ")[1].split(",")[0], 10);
             }else{
              returnparseInt(navigator.plugins["Shockwave Flash"].description.split(' ')[2], 10);
             }
          }catch(e){
            return0;
          }
        };
        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