So heute stand ich vor dem Problem, dass ich eine Pluginerkennung finden mußte, ohne Weiterleitung oder Refresh. Also war in diesem Fall die automatischer Erkennung von Flash hinfällig.
Nach einiger Zeit fand ich eine nettes Javascript, dass ich nur ein bischen auf den heutigen Standart angepaßt hat. Wer will schon wissen ob ein User Flash 3 hat

Die Arbeitsweise ist denkbar einfach.
Er fragt die Version ab, die der User mindestens brauch um die Seite angezeigt zu bekommen. Falls der User eine geringere Version hat wird automatisch anstatt der swf ein alternativ Bild geladen. (Man kann auch eine alternative Seite sich anzeigen lassen)
Hat jemand sein JavaScript ausgeschaltet, wird auch die Alternative angezeigt. Sie muss aber nicht identisch sein, mit dem oberen Bild.
Ich habe die wichtigsten Punkte, wo was zu ändern ist Dokumentiert.
PHP-Code:
<SCRIPT Language="Javascript">
<!--
// Definitionen
// Programm
var ver = 0;
var javaOn = false;
var ShockMode = 0;
//Einstellungen für die durchläufe
//Bis Player 7 + 1
var gFlashPluginTargetVersion = 8;
var gFlashPluginName;
var gFlashPluginFilename;
var plug = 0;
var gUserOS = OS_Check();
ver = parseInt(navigator.appVersion.substring(0,1));
// Welches Betriebssystem?
function OS_Check()
{
var userPlat = "unknown";
var navInfo = navigator.appVersion;
if (navInfo.indexOf("Win") != -1) userPlat = "Win";
else if (navInfo.indexOf("Macintosh") != -1) userPlat = "PPC";
else if(navInfo.indexOf("68K") != -1) userPlat = "68K";
return userPlat;
}
// Flash-Pruefung Netscape Navigator
function checkNetscape()
{
if(navigator.appName == "Netscape")
{
for(i=0;i<navigator.plugins.length;i++)
{
if (
/*Einstellung für den Player, aller die kleiner wie 7 sind werden ignoriert*/
(navigator.plugins[i].description.indexOf("Flash 7.0") >= 0)
)
{
plug = 1
break;
}
}
}
// Flash-Pruefung Netscape Internet Explorer auf Win95,98,NT
// keine Pruefung auf Macintosh da keine Active-X-Unterstützung
else if (navigator.userAgent && navigator.userAgent.indexOf("MSIE")>=0 && navigator.userAgent.indexOf("Win")>=0)
{
document.write('<SCR'+'IPT LAN'+'GUAGE=VB'+'Scr'+'ipt\> \n');
document.write('on error resume next \n');
/*Einstellung für den Player, aller die kleiner wie 7 sind werden ignoriert*/
document.write('ShockMode = (IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.7")))\n');
document.write('</SCR'+'IPT>');
if(ShockMode) plug = 1;
}
}
if(ver == 4)
{
if(navigator.javaEnabled()) javaOn = true;
}
if(ver > 2) checkNetscape();
// HTML-Embedding Flash oder Alternativ-Gif
//-->
</SCRIPT>
<SCRIPT Language="Javascript">
<!--
//Einstellungen für die SWF
if(plug == 1) { document.write('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" width="250" height="50" id="plugin" align="middle">')
document.write('<param name="allowScriptAccess" value="sameDomain" />');
document.write('<param name="movie" value="plugin.swf" />');
document.write('<param name="quality" value="high" />');
document.write('<param name="bgcolor" value="#ffffff" />');
document.write('<embed src="plugin.swf" quality="high" bgcolor="#ffffff" width="250" height="50" name="plugin" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />');
document.write('</object> ');}
//Einstellung für das alternativ Bild
else { document.write(' <img src="plugin.gif" width="250" height="50">') }
//-->
</SCRIPT>
<NOSCRIPT>
<!-- Falls JavaScript deaktiviert, kommt automatisch das Alternativbild -->
<img src="plugin.gif" width="250" height="50">
</NOSCRIPT>
Dieser Code wird an der Stelle verwendet, wo die Überprüfung stattfinden soll.
EDIT
Um Mißverständnisse vorzubeugen, der Code ist nicht von mir. Sondern wurde nur angepaßt.