JS判断浏览器是否安装Flash插件的方法及常见问题处理

作者:交互手记

时间:2026-10-30

浏览:529

本文介绍使用JavaScript判断浏览器是否安装Flash插件的两种方法。针对Chrome、Edge及IE等不同浏览器,分别采用navigator.plugins或window.ActiveXObject进行检测。文章还详细解析了IE中ActiveXObject创建对象报错的原因,并提供安装MSXML补丁或调整安全级别等解决方案,最后附带获取Flash版本号的代码示例。

文章目录

检测Flash插件安装状态

1. 检测Flash插件是否存在


var myFlash = (function(){
  if(typeof window.ActiveXObject != "undefined"){
    return new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
  }else{
    return navigator.plugins['Shockwave Flash'];
  }
})();

Chrome浏览器:

检测Flash插件安装状态

Edge浏览器移除了window.ActiveXObject,改用navigator.plugins

检测Flash插件安装状态

在IE及其他版本中调用window.ActiveXObject时,可能触发报错:

Automation 服务器不能创建对象

该问题源于页面脚本无法正确实例化对象

解决方案:安装“MSXML 4.0 Service Pack 2 (Microsoft XML Core Services)”补丁,可从微软官网下载(安装包:msxmlchs.msi),安装后修复。

注:脚本调试错误也可能与IE安全级别相关,可通过降低IE安全级别解决,或需“scrrun.dll”支持,操作方式为:开始->运行->执行命令“regsvr32 scrrun.dll”。

获取Flash版本号

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插件的简易方法即为小编分享的全部內容,期望对读者有参考价值,也欢迎大家继续支持本站。

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章