kennt jemand eine gute Möglichkeit, mit einem Script oder fla zu prüfen, ob das Flash Plugin installiert ist.
Das Ding soll das Plugin automatisch runterladen, wenn es nicht (in der richtigen Version auch) vorhanden ist.
Über eine Antwort würde ich mich sehr freuen.
hi arash,
ich persönsliche lasse dies über javascript tun, denn wenn man in flash selbst tut, was passiert dann wenn jemand überhaupt kein flash installiert oder active x (ie) deaktiviert hat? ausserdem hat die reine flash methode einen weiteren nachteil, du musst die abfrage immer in deine .swf’s reinbauen 
abgesehen davon reagieren netscape und ie unterschiedlich, der netscape user muss sich auf der automatic-detection seite von macromedia eine 311 kb grosse .exe runterladen, bei ie gehts automatisch, automatisch gehen glaub ich sowieso nur die cab dateien (also wenn man im ie die relevante .ocx datei umbenennt). deshalb meine lösung:
var ver = 0;
var javaOn = false;
var ShockMode = 0;
var plug = 0;
var ver = parseInt(navigator.appVersion.substring(0,1));
function checkBrowser(){
if(navigator.appName == „Netscape“){
for(i=0;i<navigator.plugins.length;i++){
if((navigator.plugins[i].description.indexOf(„Flash 5.0“) >= 0) || (navigator.plugins[i].description.indexOf(„Flash 5.0“) >= 0)){
plug = 1
break;
}
}
}
else if (navigator.userAgent && navigator.userAgent.indexOf(„MSIE“)>=0 && (navigator.userAgent.indexOf(„Win“)>=0 || navigator.userAgent.indexOf(„Mac“)>=0)){
document.write(’<SCRIPT LANGUAGE=VBScript\> \n’);
document.write(‚on error resume next \n‘);
document.write(‚ShockMode = (IsObject(CreateObject(„ShockwaveFlash.ShockwaveFlash.5“)))\n‘);
document.write("</SCR" + „IPT>“);
if(ShockMode)
plug = 1;
}
}
if(ver == 4){if(navigator.javaEnabled()) javaOn = true;}
if(ver > 2) checkBrowser();
if(plug == 1){document.write(’<EMBED SRC=„intro.swf“ CODEBASE=„http://download.macromedia.com/pub/shockwave/cabs/fl…“ TYPE=„application/x-shockwave-flash“ WIDTH=„800“ HEIGHT=„480“ PLAY=„true“ Menu=„false“ LOOP=„false“ QUALITY=„high“ PLUGINSPACE="http://www.macromedia.com/shockwave/download/index.c…;)}
else{document.write(’<SCRIPT LANGUAGE=„JavaScript“ TYPE=„text/javascript“>window.location.replace(„noflash.html“)</SCRIPT>’);}
keine sorge sieht schwieriger aus als es ist, da wo flash 5.0 oder ShockwaveFlash5 steht kann man z. b. auch 4 hinschreiben, dann muss mindestens Version 4 installiert sein! unten wird dann ausgewertet und bei nicht installiertem script ein window reload bzw. replace (ist egal) gemacht! auf die seite noflash.html, welche im selben ordner liegt wie die index.html.
so hier noch mein persönlicher einsatz des skripts 
cu
Danke
Vielen Dank für die schnelle Antwort.
Ich werde das testen
Gruss
und hat es geklappt?
Klappt fast
Hi method5
endlich mal ne kluge Erkennung! Klasse!
Aaaaaber (sorry, dass das kommen musste…
Hab das Ding ausprobiert (auch deine Seite) und Flash wird nicht erkannt, wenn ich einen Mac benutze mit IE5.0, wobei Flash NICHT als Active-X-Element installiert ist, sondern „nur“ als PlugIn vorhanden ist.
Ich hoffe, ich habe da jetzt keinen Müll geschrieben. Wenn ich alles richtig verstanden habe (bislang konnt’s mir noch keiner genau erklären), kann Flash entweder als PlugIn oder als Active-X-Element vorliegen (oder beides).
Um das PlugIn anzusprechen benutzt man das OBJECT-Tag. Für die Active-X-Variante nimmt man das EMBED-Tag. Stimmt das eigentlich so?
Naja, der Mac mit IE5.0 erkennts auf jeden Fall nicht, obwohl der Netscape, der auf dem selben Rechner installiert ist, keine Probleme bereitet.
Hast du eine Idee, wie man das berücksichtigen kann?
Gruß
Jörg
hi hi,
sehr interessant, die gleiche aussage hat mein kumpel gemacht, der studiert an der akademie der bildenden künste und die haben nur macs. du hast recht.
das mit object und embed stimmt meines erachtens so nicht ganz! embed funktioniert in allen browsern die mir bekannt sind sowohl auf mac als auch auf pc, das hab ich in meiner alten agentur reichlich getestet. getestet wurde eigentlich auch meine gepostete abfrage, aber das beim ie auf mac flash sowohl als auch installiert sein kann, liefert wohl den grund warum es in der agentur lief und bei manchen anderen nicht, wobei ich mir nicht erklären kann das dies beim ie auf 2 unterschiedliche arten funktionieren soll. ich bin jetzt selbständig und hab leider keinen mac da, da die kohle erstmal rein muss
hmmm vielleicht sollt ich am wochende mal meinen kumpel besuchen!
ich werd dranbleiben…
denn von abfragen innerhalb von flash halt ich gar nix, am besten wäre natürlich php, aber das geht leider nicht.
grüsse
Nochmal Hi…
ja, klingt in der Tat interessant. Wenn du also noch weitere Unterstützung beim Austesten oder Rumprobieren brauchst, dann sag bescheid. Der Mac steht zwar nicht hier bei mir, aber es sollte kein Problem sein, auf den eines Kollegen wochentags jederzeit „zuzugreifen“.
Das mit den zwei unterschiedlichen Funktionsweisen von Flash habe ich mir einfach mal so zusammengereimt. Ich hatte das gleiche Problem mit meinem IE5 auf meinem PC. Flash war installiert (nicht nur der Player, sonder das Vollprodukt), trotzdem wollte der IE einige Flash-Movies auf diversen Seiten nicht abspielen. Ich stellte fest, dass dies überall dort der Fall war, wo nur das EMBED-Tag, nicht aber das OBJECT-Tag verwendet wurde (ich selbst verwende immer beide). Flash war zu diesem Zeitpunkt bei mir nicht als Active-X-Komponente installiert. Dies holte ich dann nach, und siehe da - alles klappte. Daher vermute ich mal, dass das Problem beim Mac ähnlich geartet ist.
Viele Grüße
Jörg
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
versteh versteh, aber ich dachte immer man braucht das object tag nur, wenn man flash mit der aussenwelt kommunizieren lassen will. leider schweigen die vielen bücher sich hier ziemlich aus…
grüsse
ps: quick bist du ja schon
Das mit dem Schweigen ist wohl wahr. Ich habe bislang nirgendwo genaue Informationen gefunden, die mehr auskunft über Verwendung von EMBED und OBJECT bieten.
Überhaupt finde ich die Dokumentation von Flash etwas dürftig. Es sind zwar alle Funktionen erklärt, aber wie man richtig mit dem Programm ARBEITET, das steht leider nirgendwo. Ich meine hierbei hilfreiche Tipps und sinnvollen Umgang mit den Erklärten Features… aber naja, was will man für schlappe 800 DM auch schon erwarten?
Gruß
Jörg
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
ich habs: der mac ie implementiert plug-ins nicht über active-x. deshalb greift die javascript abfrage NICHT auf dem ie macintosh! da zudem javascript aktiviert sein MUSS, hab ich mich somit entschieden in Zukunft dieses Script NICHT MEHR für besagten Zweck einzusetzen, ich werde mich für die Flash-Detection entscheiden die die flashworker.de crew anbietet. flash detection innerhalb von flash, falls gar kein flash installiert ist soll dort einfach ein javascript weiterleiter oder der meta-refresh greifen. vor allem die design elite arbeitet am mac und der mac ist ein nicht gering zu schätzender anteil, da bringt proprietäres denken nix! aber auch die flashworker methode hat etwa eine fehlerrate von 5 - 10% da die detection probleme auf unix / linux browsern bringt.
grüsse
Pioniere vor!
Hi
danke für deine Recherchen. Ist ja alles sehr interessant. Auf jeden Fall werde ich das Thema im Auge behalten. Es muss doch eine Möglichkeit geben (oder entwickelt werden können), bei der es KEINE oder zumindest nur eine sehr geringe Fehlerquote (
weiss nicht ob das so einfach ist, sogar in der it-branche aus der ich komme treffe ich täglich leute die zwar animationen im web toll finden aber noch nie das wort flash gehört haben, die entscheiden sich dann aus versehen oft für die html version weil sie angst haben wieder auf irgend eine nicht funktionierende download seite zu kommen. die negativen erfahrungen im web sind bei den meisten einfach zu gross. ich setz eher auf detection.
cya