Detect flash player 6

I’ve got a problem with flash detection. I use this script from kirupa.com:

<SCRIPT LANGUAGE=JavaScript1.1>
<!--
var MM_contentVersion = 6;
var plugin = (navigator.mimeTypes && navigator.mimeTypes["application/x-shockwave-flash"]) ? navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin : 0;
if ( plugin ) {
		var words = navigator.plugins["Shockwave Flash"].description.split(" ");
	    for (var i = 0; i < words.length; ++i)
	    {
		if (isNaN(parseInt(words*)))
		continue;
		var MM_PluginVersion = words*; 
	    }
	var MM_FlashCanPlay = MM_PluginVersion >= MM_contentVersion;
}
else if (navigator.userAgent && navigator.userAgent.indexOf("MSIE")>=0 
   && (navigator.appVersion.indexOf("Win") != -1)) {
	document.write('<SCR' + 'IPT LANGUAGE=VBScript\> 
'); //FS hide this from IE4.5 Mac by splitting the tag
	document.write('on error resume next 
');
	document.write('MM_FlashCanPlay = ( IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash." & MM_contentVersion)))
');
	document.write('</SCR' + 'IPT\> 
');
}
if ( MM_FlashCanPlay ) {
	window.location.replace("http://www.mysite.com/flash.htm");
} else{
	window.location.replace("http://www.mysite.com/noflash.htm");
}
//-->

</SCRIPT>

It seems like the script always redirects the user to the flashsite, even though the user only has got flash player 5. What’s wrong?

What browser are you using? Do you have this in your <head> tags? If you have some more info maybe i can help as I am familiar with PHP

If the above script aint working you could adjust this script (below). With this you can not only reditect if 6 is found (you will have to add redirection yourself) but you can also actually see what version they are using.


function detectingFLASH() { 
  var browser = navigator.userAgent.toLowerCase(); 
  flashVersion = 0;     
    // NS3+, Opera3+, IE5+ Mac 
    if ( navigator.plugins != null && navigator.plugins.length > 0 ) { 
        var flashPlugin = navigator.plugins['Shockwave Flash']; 
        if ( typeof flashPlugin == 'object' ) {  
            if ( flashPlugin.description.indexOf('7.') != -1 ) flashVersion = 7; 
            else if ( flashPlugin.description.indexOf('6.') != -1 ) flashVersion = 6; 
            else if ( flashPlugin.description.indexOf('5.') != -1 ) flashVersion = 5; 
            else if ( flashPlugin.description.indexOf('4.') != -1 ) flashVersion = 4; 
            else if ( flashPlugin.description.indexOf('3.') != -1 ) flashVersion = 3; 
        } 
    } // IE4+ Win32 (VBscript) 
    else if ( browser.indexOf("msie") != -1 && parseInt(navigator.appVersion) >= 4 && browser.indexOf("win")!= -1 && browser.indexOf("16bit")== -1 ) { 
      document.write('<scr' + 'ipt language="VBScript"\> 
'); 
        document.write('on error resume next 
'); 
        document.write('DIM obFlash 
'); 
        document.write('SET obFlash = CreateObject("ShockwaveFlash.ShockwaveFlash.7") 
'); 
        document.write('IF IsObject(obFlash) THEN 
'); 
        document.write('flashVersion = 7 
'); 
        document.write('ELSE SET obFlash = CreateObject("ShockwaveFlash.ShockwaveFlash.6") END IF 
'); 
        document.write('IF flashVersion < 7 and IsObject(obFlash) THEN 
'); 
        document.write('flashVersion = 6 
'); 
        document.write('ELSE SET obFlash = CreateObject("ShockwaveFlash.ShockwaveFlash.5") END IF 
'); 
        document.write('IF flashVersion < 6 and IsObject(obFlash) THEN 
'); 
        document.write('flashVersion = 5 
'); 
        document.write('ELSE SET obFlash = CreateObject("ShockwaveFlash.ShockwaveFlash.4") END IF 
'); 
        document.write('IF flashVersion < 5 and IsObject(obFlash) THEN 
'); 
        document.write('flashVersion = 4 
'); 
        document.write('ELSE SET obFlash = CreateObject("ShockwaveFlash.ShockwaveFlash.3") END IF 
'); 
        document.write('IF flashVersion < 4 and IsObject(obFlash) THEN 
'); 
        document.write('flashVersion = 3 
'); 
        document.write('END IF'); 
      document.write('</scr' + 'ipt\> 
'); 
  } // no Flash 
  else { 
    flashVersion = -1; 
  } 
return flashVersion; 
}

Moock’s detector works great:

Moock’s FPI

this will definately find flash 6, reall happy with how it works

i’ll second you subquark–i was just jumping in here to say moockfpi is great–easy to understand, easy to implement, easy to change…moock’s head should be on the mount rushmore of flashers…:beam:
-mojo