How can I detect which Flash version a browser is using with JavaScript?
-
I think this is what you are looking for: Adobe Flash Detection KitKJYe.Name– KJYe.Name2011-04-29 16:58:44 +00:00Commented Apr 29, 2011 at 16:58
-
possible duplicate of how to check flash player version using javascript?mipe34– mipe342013-04-17 19:20:58 +00:00Commented Apr 17, 2013 at 19:20
Add a comment
|
2 Answers
There is a nice, lightweight JavaScript Flash Detection Library, which is smaller and more convenient than using SWFObject. You should consider it, if you only want to check if Flash is installed, but you're using different method of playing FLV movies.
SWFObject should be considered only, if you're also using it for playing Flash movies. For just checking, if Flash is installed, it is to heavy in my opinion.
Comments
There is a lot of going on in JavaScript Flash Detection Library, but it seems it can be simplified to something like this:
getFlashVer: function () {
var activeXObj, plugins, plugin, result;
if (navigator.plugins && navigator.plugins.length > 0) {
plugins = navigator.plugins;
for (var i = 0; i < plugins.length && !result; i++) {
plugin = plugins[i];
if (plugin.name.indexOf("Shockwave Flash") > -1) {
result = plugin.description.split("Shockwave Flash ")[1];
}
}
} else {
plugin = "ShockwaveFlash.ShockwaveFlash";
try {
activeXObj = new ActiveXObject(plugin + ".7"), result = activeXObj.GetVariable("$version")
} catch (e) {}
if (!result) try {
activeXObj = new ActiveXObject(plugin + ".6"), result = "WIN 6,0,21,0", activeXObj.AllowScriptAccess = "always", result = activeXObj.GetVariable("$version")
} catch (e) {}
if (!result) try {
activeXObj = new ActiveXObject(plugin), result = activeXObj.GetVariable("$version")
} catch (e) {}
result && (result = result.split(" ")[1].split(","), result = result[0] + "." + result[1] + " r" + result[2])
}
return result ? result : "-";
}