code: function detectFlashVersion() {
    var playerVersion = null;
  
    var plugins = navigator.plugins;
    var mimeTypes = navigator.mimeTypes;
  
    var d = null;
  
    if (plugins && plugins['Shockwave Flash'] && mimeTypes &&
        mimeTypes['application/x-shockwave-flash'] &&
        mimeTypes['application/x-shockwave-flash'].enabledPlugin) {
      d = plugins['Shockwave Flash'].description;
      d = d.replace(/^.*\s+(\S+\s+\S+$)/, '$1');
      playerVersion = [0, 0, 0];
      playerVersion[0] = parseInt(d.replace(/^(.*)\..*$/, '$1'), 10);
      playerVersion[1] = parseInt(d.replace(/^.*\.(.*)\s.*$/, '$1'), 10);
      playerVersion[2] = /[a-zA-Z]/.test(d) ? parseInt(d.replace(/^.*[a-zA-Z]+(.*)$/, '$1'), 10) : 0;
    }
    else if (window.ActiveXObject) {
      try {
        var a = new ActiveXObject('ShockwaveFlash.ShockwaveFlash');
        if (a && (d = a.GetVariable('$version'))) {
          d = d.split(' ')[1].split(',');
          playerVersion = [parseInt(d[0], 10), parseInt(d[1], 10), parseInt(d[2], 10)];
        }
      }
      catch (e) {}
    }
  
    return playerVersion;
  }
docs: Detect supported Flash version. Returns [major, minor, rev] or null. Adapted from https://code.google.com/p/swfobject