Ich konnte es eigentlich kaum glauben und hab mir deshalb alle Flash-Plugins für WP gegeben. Aber das ernüchternde Ergebnis ist, es gibt unter den unzähligen, teilweise wahnsinnig kompizierten Flash-Plugins für WP kein Einziges, das die volle Punktzahl erreichen würde. Das finden wir so traurig, das wir fast geneigt wären, einen Preis für die Volle-Punktzahl-Lösung auszuloben. Wenn man sich die Codes der Plugins ansieht, muss man sich echt fragen, was sich da manche für einen Wolf coden? Das kann doch eigentlich nur aus 2 Javaskript Einbindungen im Header und 3 HTML-Code Zeilen im Body bestehen,
Oder ist die Geschichte von WordPress Entwicklern und Flash tatsächlich eine Geschichte voller Missvertändnisse?
Hier nochmal ganz langsam zum mitschreiben.
1. <script type=”text/javascript” src=”swfobject.js”></script> wer die nicht Lokal hat kann sie auch direkt remote einbinden und zwar von hier http://code.google.com/p/swfobject/ damit wäre auch sicher gestellt das immer die neuste Vewrsion verwendet wird.
Es folgt ein Javaskript mit ganzen 5 Eigenschaften(2 x String , 3 x Objekt) und 3 Funktionsaufrufen, wobei einer 2 mal (einmal für das body-tag und einmal für das html-tag aufgerufen wird), damit können ausnahmslos alle Parameter übergeben werde, die möglich sind.
2.<script type=”text/javascript”>
var swfVersionStr = “10.1.52″;
var xiSwfUrlStr = “”;
var flashvars = {};
var params = {};
params.quality = “high”;
params.bgcolor = “#ffffff”;
params.play = “true”;
params.loop = “true”;
params.wmode = “transparent”;
params.scale = “showall”;
params.menu = “true”;
params.devicefont = “false”;
params.salign = “”;
params.allowscriptaccess = “sameDomain”;
var attributes = {};
attributes.id = “menu”;
attributes.name = “menu”;
attributes.align = “middle”;
swfobject.createCSS(“html”, “height:100%; background-color: #ffffff;”);
swfobject.createCSS(“body”, “margin:0; padding:0; overflow:hidden; height:100%;”);
swfobject.embedSWF(
“menu.swf”, “flashContent”,
“100%”, “100%”,
swfVersionStr, xiSwfUrlStr,
flashvars, params, attributes);
</script>
Zuletzt noch ein HTML 3-Zeiler, der Container Inklusive No-Flash und Flashdetektion.
3. <div id=”flashContent”>
<a href=”http://www.adobe.com/go/getflash”>
<img src=”http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif” alt=”Get Adobe Flash Player” />
</a>
<p>Für diese Seite ist Flash Player Version 10.1.52 oder höher erforderlich.</p>
</div>
Fertig, und das ist schon das Plugin mit ALLES. Mehr kann garnicht gehn sogar eine express-SWF-Instalatitionsdatei kann man damit erstellen Ich hab keine Ahnung wie da Plugins mit 4 Dateien zu je 500 Zeilen Code zusammen kommen können, die dann am Ende vorallem eines nicht leisten. Funktion! Wieviele Zeilen Code können das in WP-API wohl werden? 500? Oder doch nur 15? Wer wissen möchte was diese 3 Code-Blöcke genau Herstellen, kann das auf dieser Seite mit unserem SWF Generator manuell durchspielen. Dieser kann auch verwendet werden um z.B. <noscript> Inhalte Für die Javascript aufrufe herzustellen.
Und so sieht dann, bei der Lösung mit der vollen Punktzahl, der HTML Code aus, den das Plugin aus den 3 Komponenten oben erzeugt. Wer es schafft, das WP die 3 Bausteine in diesem HTML ausgibt, hat tatsächlich geschafft was vor ihm noch keiner geschafft hat,
The-One-And-Only-One-Plugin-Fits-All-Flashfiles-WP-Extension
zu schreiben. Wer auf Nummer sicher, sicher gehen möchte, kann das in <noscript> </noscript> einrahmen, für die 2% die kein Javascript haben.
<!– Die SWFObject-Methode zum dynamischen Einbetten ersetzt diesen alternativen HTML-Inhalt durch Flash-Inhalt, wenn ausreichende JavaScript- und Flash-Plug-In-Unterstützung verfügbar ist. –>
<object width=”100%” height=”100%” align=”middle” type=”application/x-shockwave-flash” id=”menu” name=”menu” data=”menu.swf”><param name=”quality” value=”high”/><param name=”bgcolor” value=”#ffffff”/>
<param name=”play” value=”true”/><param name=”loop” value=”true”/><param name=”wmode” value=”transparent”/><param name=”scale” value=”showall”/><param name=”menu” value=”true”/>
<param name=”devicefont” value=”false”/><param name=”salign” value=”"/><param name=”allowscriptaccess” value=”sameDomain”/></object>
Ich spendier sogar die Schlüssel PHP-Funktion des Plugins ( die aus dem Admin Interface zuzuführenden Variablen sind fett markiert):
function skriptCode() {$swfskript=’<script type=”text/javascript” src=”http://projekt4.addit-media.net/adm/templates/video/swfobject.js“></script>
<script type=”text/javascript”>
var swfVersionStr = “10.1.52″;
var xiSwfUrlStr = “”;
var flashvars = {};
var params = { quality:”high“, bgcolor:”#acacac“, play:”false“, loop:”false“, wmode: “transparent“, scale: “showall“, menu: “true“, devicefont: “false“, allowscriptaccess:”sameDomain“};
var attributes = {id:”project4Player“, name:”project4Player“, align:”middle“};
swfobject.embedSWF( “‘.$this->getPLayerURL().’”, “flashContent”, “590“, “342“, swfVersionStr, xiSwfUrlStr, flashvars, params, attributes );
</script>’.”\n”;
return $swfskript;
}
Naaa? …Jetzt aber. Wer wird One-Plugin-Fits-All-Flashfiles-WP-Extension Master?