使用JavaScript检测Flash版本

时间:2011-04-29 16:56:43

标签: javascript flash

如何通过JavaScript检测浏览器使用的Flash版本?

2 个答案:

答案 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 : "-";
}