如何通过JavaScript检测浏览器使用的Flash版本?
答案 0 :(得分:7)
有一个很好的轻量级JavaScript Flash Detection Library,它比使用 SWFObject 更小更方便。您应该考虑一下,如果您只想检查是否安装了Flash,但是您正在使用不同的方式播放FLV
电影。
SWFObject 应该被视为 ,如果您还使用它来播放Flash电影。如果只是检查,如果安装了Flash,我认为它重。
答案 1 :(得分:2)
JavaScript Flash Detection Library中有很多内容,但似乎可以将其简化为:
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 : "-";
}