2011-01-05 1 views
0

Ich habe swfobject für ein neues Projekt verwendet, und es ist großartig. Aber jetzt, da ich FlashSwitcher in Firefox eingerichtet und ausgeführt habe, stelle ich fest, dass die Informationen, die angezeigt werden, wenn ich eine niedrigere als die von mir angegebene Version ausführe, angepasst wurden (in diesem Fall von der Moodle-Seite, in der sich der swfobject-Einbettungscode befindet). Attached ist ein Screenshot der SWF-Ausgabe, wie sie von Moodle generiert wird. Ich kann bestätigen, dass einige meiner Benutzer das auch sehen, also funktioniert mein FlashSwitcher richtig. Die meisten meiner Anwendungsfälle sind außerhalb des Moodle-Kontexts, sie sind Standalone, was ich möchte ist genau wie sie angepasst, wie ich ihre Anpassung ändern kann, und wie ich das gleiche tun kann, wenn Die Erkennung von swfobject ist eigenständig.Wie wird die SWF-Ausgabe der "alten Version" mit swfobject 2.1 angepasst?

Bitte beachten Sie, dass die Durchsetzung des Flash Player-Plugins über ExpressInstall vom Kunden missbilligt wurde, suggestive Aktionen und einen Link erfordern - aber keine automatischen Installationen oder ähnliches.

Meine Implementierung verwendet die "zweimal gekochte" Methode, da ich eine Barrierefreiheitsanforderung habe, um Flash-Inhalte anzuzeigen, sollte ein Benutzer weder Flash noch Javascript oder beides haben. Hier ist mein einbetten Methodenaufruf, der ausgeführt wird, wenn ein YUI2 Dokument Last-Ereignis ausgelöst wird:

swfobject.embedSWF("../../swf/video-loader.swf", "flash_object_a", "877", "400", "8.0"); 

Letztlich möchte ich diese „alte Version“ Ausgabe anpassen etwas, das ich erstellt/geschrieben werden.

Screenshot of swfobject 2.1 old version notification when in a Moodle context

prost, d

Antwort

1

Sie getFlashPlayerVersion Methode des swfobject verwenden können (erklärt here) für Flash Player-Version zu überprüfen und entsprechende Maßnahmen ergreifen.

Ein einfaches Beispiel wäre:

var has_version_8_or_greater = swfobject.hasFlashPlayerVersion("8"); 

if(has_version_8_or_greater){ 
    //embed SWF using SWFObject 
} else { 
    //Check to see whether an older version of Flash is found. 
    var version = swfobject.getFlashPlayerVersion(); 
    if(version.major > 0){ 
     //You have Flash but it's too old. 
     var version_str = version.major + "." + version.minor + "." + version.release; 
     alert("You have Flash Player version " + version_str + ". Please update!"); 
    } else { 
     //You don't have Flash. 
    } 
} 
+0

Dies funktioniert theoretisch perfekt, danke pipwerks - Ich gebe es ein oder zwei Tage, bevor obwohl aufkommt, falls etwas Beantwortung anders, denn wenn ich die Seite laden up mit FlashSwitcher in Firefox (3.6.13) führt es die has_version_8_or_greater condition als true aus - obwohl ich angeblich Version 7 laufen lasse. Also habe ich dann das Adobe Flash detection kit geöffnet und ... es hat Version 8 alarmiert (auch 'incorrect'), und die resultierende AS-Erkennung verfolgt dann die Version 7 (korrekt). Ich werde es einen FlashSwitcher-Fehler nennen und verwende jetzt die AS-Versionserkennung, um eine veraltete Warnung zu drucken. – danjah

+0

Oh, und um die Dinge ein wenig mehr zu klären - vor der Verwendung von FlashSwitcher Firefox hatte die neueste FP10 Build installiert, nicht v8: P – danjah

+0

Okay, getestet Ihre Antwort auf mehrere Boxen jetzt, funktioniert gut, danke :) – danjah

Verwandte Themen