This code is the best way to detect flash. It should work across browsers and even go back to ie6.

<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script type="text/javascript">
    function IsFlashInstalled () {
        var info = document.getElementById ("info");
        
            // Internet Explorer supports the mimeTypes collection, but it is always empty
        if (navigator.mimeTypes && navigator.mimeTypes.length > 0) {
            // Firefox, Google Chrome, Safari, Opera
            var mime = navigator.mimeTypes['application/x-shockwave-flash'];
            if (mime && mime.enabledPlugin) {
                var version = mime.enabledPlugin.description;
                info.innerHTML = version + " is installed.";
                return;
            }
        } else {
            if (typeof (ActiveXObject) != "undefined") {
                // Internet Explorer
                try {

var flash = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.1"); info.innerHTML = "Flash is installed."; return; } catch (e) { } } } info.innerHTML = "Flash is not installed."; } </script>

<span id="info"></span>

<script> IsFlashInstalled (); </script>