3

How can I detect which Flash version a browser is using with JavaScript?

2

2 Answers 2

7

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.

Sign up to request clarification or add additional context in comments.

Comments

2

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

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.