/ / Come rilevare la versione di Flash Player con js [duplicato] - javascript, internet-explorer, flash

Come rilevare la versione di Flash Player di js [duplicato] - javascript, internet-explorer, flash

Questa funzione ritorna sempre "0" in IE

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;
}

ma ritorno cromo 11.8.r800

come rilevare la versione di Flash Player in IE.

risposte:

7 per risposta № 1

Penso che avrai più fortuna usando il SWFObject biblioteca. Usando questa libreria puoi semplicemente fare quanto segue per ottenere la versione flash su tutti i browser:

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

4 per risposta № 2

Ecco cosa viene utilizzato in uno dei miei progetti,

Funziona bene anche su 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");
}

1 per risposta № 3

Prova questo

    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