Javascript 如何通过js检测flash播放器版本

Javascript 如何通过js检测flash播放器版本,javascript,internet-explorer,flash,Javascript,Internet Explorer,Flash,此函数在IE中始终返回“0” function getFlashVersion(){ var flash = 'None'; // Count down from 10. for(var i = 10; i > 0; i--) { try{ flash = new ActiveXObject("ShockwaveFlash.ShockwaveFlash."+String(i)); }catch(e){ //console.log(e); }

此函数在IE中始终返回
“0”

function getFlashVersion(){
 var flash = 'None';
 // Count down from 10.
 for(var i = 10; i > 0; i--)
 {
   try{
    flash = new ActiveXObject("ShockwaveFlash.ShockwaveFlash."+String(i));
   }catch(e){
     //console.log(e);
   }
   if(flash != 'None')
    return flash.GetVariable("$version");

 }
 return 0;
}
但是chrome返回
11.8.r800


如何在IE中检测flash player版本。

我认为您使用该库会有更好的运气。使用此库,您只需执行以下操作即可跨浏览器获取flash版本:

// returns a JavaScript object
var playerVersion = swfobject.getFlashPlayerVersion(); 
// access the major, minor and release version numbers via their respective properties
var majorVersion = playerVersion.major; 

这是我的一个项目中使用的内容

也适用于IE

function getFlashVersion(){
  // ie
  try {
    try {
      // avoid fp6 minor version lookup issues
      // see: http://blog.deconcept.com/2006/01/11/getvariable-setvariable-crash-internet-explorer-flash-6/
      var axo = new ActiveXObject('ShockwaveFlash.ShockwaveFlash.6');
      try { axo.AllowScriptAccess = 'always'; }
      catch(e) { return '6,0,0'; }
    } catch(e) {}
    return new ActiveXObject('ShockwaveFlash.ShockwaveFlash').GetVariable('$version').replace(/\D+/g, ',').match(/^,?(.+),?$/)[1];
  // other browsers
  } catch(e) {
    try {
      if(navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin){
        return (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]).description.replace(/\D+/g, ",").match(/^,?(.+),?$/)[1];
      }
    } catch(e) {}
  }
  return '0,0,0';
}

var version = getFlashVersion().split(',').shift();
if(version < 10){
  alert("Lower than 10");
}else{
  alert("10 or higher");
}
函数getFlashVersion(){ //即 试一试{ 试一试{ //避免fp6轻微的版本查找问题 //见:http://blog.deconcept.com/2006/01/11/getvariable-setvariable-crash-internet-explorer-flash-6/ var axo=新的ActiveXObject('ShockwaveFlash.ShockwaveFlash.6'); 请尝试{axo.AllowScriptAccess='always';} catch(e){return'6,0,0';} }捕获(e){} 返回新的ActiveXObject('ShockwaveFlash.ShockwaveFlash')。GetVariable('$version')。replace(/\D+/g',',')。match(/^,(.+),?$/)[1]; //其他浏览器 }捕获(e){ 试一试{ if(navigator.mimeTypes[“应用程序/x-shockwave-flash”].enabledPlugin){ 返回(navigator.plugins[“Shockwave Flash 2.0”]| | navigator.plugins[“Shockwave Flash”])。说明。替换(/\D+/g,”,”)。匹配(/^、(.+)、?$/)[1]; } }捕获(e){} } 返回'0,0,0'; } var version=getFlashVersion().split(',').shift(); 如果(版本<10){ 警报(“低于10”); }否则{ 警报(“10或更高”); } 试试这个

    var a, b, c, y ='length',v = "name",t = "indexOf",m = "match";
    if (c=window.navigator.plugins)
        for (var d = 0; d < c[y] && !b; d++) {
            var e = c[d]; - 1 < e[v][t]("Shockwave Flash") && (b = e.description) 
        }
    if (!b) try {
        a = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7"), b = a.GetVariable("$version")
    } catch (g) {}
    if (!b) try {
        a = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6"), b = "WIN 6,0,21,0", a.AllowScriptAccess = "always", b = a.GetVariable("$version")
    } catch (ca) {}
    if (!b) try {
        a = new ActiveXObject("ShockwaveFlash.ShockwaveFlash"), b = a.GetVariable("$version")
    } catch (l) {}
    b &&
        (a = b[m](/[\d]+/g)) && 3 <= a[y] && (b = a[0] + "." + a[1] + " r" + a[2]);
    console.log(b) || void 0
var a、b、c、y='length',v=“name”,t=“indexOf”,m=“match”;
if(c=window.navigator.plugins)
对于(var d=0;d(a=b[m](/[\d]+/g))&&3 IE说“'swfobject'未定义”您是否在提供的链接中包含了
swfobject.js
文件?此库定义了swfobject功能。。。