js检测浏览器中是否安装了flash播放插件

这两天工作中需要在网页中嵌入flash小游戏,我使用的是swfobject.js version:1.5。其他方面都很好,唯独版本检测这里一直没有搞通,后来实在无奈之下,改用js来检测浏览器的flash插件情况,代码如下:

<script>
  function flashChecker() {
    var hasFlash = 0; //是否安装了flash
    var flashVersion = 0; //flash版本
    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]);
          }
        }
      }
    }
    return { f: hasFlash, v: flashVersion };
  }
  var fls = flashChecker();
  var s = "";
  if (fls.f) document.write("您安装了flash,当前flash版本为: " + fls.v + ".x");
  else document.write("您没有安装flash"); 
</script>
原文地址:https://www.cnblogs.com/jiyang2008/p/4958546.html