PDA

View Full Version : Detect flash player 6



thorseye
March 12th, 2003, 03:14 AM
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[i])))
continue;
var MM_PluginVersion = words[i];
}
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\> \n'); //FS hide this from IE4.5 Mac by splitting the tag
document.write('on error resume next \n');
document.write('MM_FlashCanPlay = ( IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash." & MM_contentVersion)))\n');
document.write('</SCR' + 'IPT\> \n');
}
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?

mindfriction
March 13th, 2003, 07:25 AM
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"\> \n');
document.write('on error resume next \n');
document.write('DIM obFlash \n');
document.write('SET obFlash = CreateObject("ShockwaveFlash.ShockwaveFlash.7") \n');
document.write('IF IsObject(obFlash) THEN \n');
document.write('flashVersion = 7 \n');
document.write('ELSE SET obFlash = CreateObject("ShockwaveFlash.ShockwaveFlash.6") END IF \n');
document.write('IF flashVersion < 7 and IsObject(obFlash) THEN \n');
document.write('flashVersion = 6 \n');
document.write('ELSE SET obFlash = CreateObject("ShockwaveFlash.ShockwaveFlash.5") END IF \n');
document.write('IF flashVersion < 6 and IsObject(obFlash) THEN \n');
document.write('flashVersion = 5 \n');
document.write('ELSE SET obFlash = CreateObject("ShockwaveFlash.ShockwaveFlash.4") END IF \n');
document.write('IF flashVersion < 5 and IsObject(obFlash) THEN \n');
document.write('flashVersion = 4 \n');
document.write('ELSE SET obFlash = CreateObject("ShockwaveFlash.ShockwaveFlash.3") END IF \n');
document.write('IF flashVersion < 4 and IsObject(obFlash) THEN \n');
document.write('flashVersion = 3 \n');
document.write('END IF');
document.write('</scr' + 'ipt\> \n');
} // no Flash
else {
flashVersion = -1;
}
return flashVersion;
}

subquark
March 14th, 2003, 08:39 AM
Moock's detector works great:

Moock's FPI (http://www.moock.org/webdesign/flash/detection/moockfpi/)

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

mojoNYC
March 14th, 2003, 05:30 PM
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