Die Alternative für Flash: SWFObject

ActiveX Steuerelement aktivieren im Internet ExplorerAls Microsoft auf Grund eines Patentstreites (Stichwort Eolas) ein Patch für die Integration von ActiveX-Steuerelemente herausbracht, war das Geschrei seitens vieler Webentwickler groß. Grund dafür war, dass ActiveX Steuerelemente, wie auch Flash & Co erst verwendet werden konnten, nachdem sie vorher aktiviert wurden. Anders gesagt: Die Installations des Patches des Knowledge Base Artikels 912945 war so etwas wie eine Katastrophe.

Microsoft lieferte zwar in seiner MSDN Bibliothek einen Artikel mit Hilfestellungen (Activating ActiveX Controls), wie das zu Problem zu umgehen sei. Jedoch war dieser Artikel nicht wirklich hilfreich, oder anders gesagt war die Integration dieser vorgeschlagenen Lösungen könnte man eher als Umständlich bezeichnen.

Ich weiss leider nicht mehr wie ich auf diese Lösung gestossen bin, aber fest steht, dass diese Idee ziemlich hilfreich ist. Sie nennt sich einfach SWFObject (Javascript Flash Player detection and embed script) und vereint eine Lösung gegen bisher alle Probleme bei der Integration von Flash. Flash wird (x)html konform und unter Umgehung des Aktivierungsproblems angezeigt.

An dieser Stelle hatte ich ursprünglich ein kleines Tutorials geschrieben, welches zeigt wie man SWFObject in eigene Seite einbindet. Stattdessen bin ich aber nun auf die Seite von Powerflasher gestossen, wo eine sehr gute Übersetzung des Artikels zu finden ist.. Daher verweise ich von hier aus direkt auf diese Übersetzung von Carlo Blatz.

Fazit

Die hier aufgeführte Methode 1 zur standardkonformen Integration von ActiveX Elemente klappt hervorragend, ist jedoch nicht wirklich elegant. Aber sie zeigt sehr gut, wie man Probleme übergangsweise gut umgehen kann. Immerhin basiert die Methode auf einer Idee aus 2002, als es noch nicht sehr viele Vorschläge gab, die sich mit dem selben Problem beschäftigten (Die Idee zu Flash Satay entstand ungefähr ein halbes Jahr vor meiner Idee, ich suchte jedoch nach einer JS freien Lösung). In Zeiten von Web 2.0 jedoch, wo JavaScript immer mehr an Bedeutung gewinnt ist es eigentlich nur noch eine Frage der Zeit, dass Scripte wie SWFObject sich der Problematik annehmen und eine einfache und simple Lösung für solche Anwendungen bringen.

Während die SWFObject Idee jedoch nur für Flash Elemente angewendet werden kann, bietet die erste Methode eine gute und einfach Möglichkeit für sämtliche ActiveX Steuerelemente, von Flash über Media Player Inhalte bis hin zu Quicktime, Grafikviewern und was es sonst noch alles da draussen gibt …

Die Eleganz der SWFObject Methode ist jedoch 7KByte groß. Klingt nicht wirklich viel, aber 7KByte sind einiges mehr, als die wenigen Bytes der ersten Methode. Das ist jedoch kein Problem der SWFObject Methode ansich, sondern eine Problematik von vollständigen Lösungen. Ein weiteres Problem ist die Verwendung von JavaScript. Sicherlich ist das eigegentlich ein Kleinkriegthema, aber was passiert, wenn der Besucher der Seite kein JavaScript aktiviert hat? Nichts! Der Besucher bekommt keinen Inhalt angezeigt.
Es bleibt also jedem selbst überlassen, ob er ein fertiges Script mit einem Installer verwenden möchte, welches wesentlich mehr Features bietet, als der Besucher der Seite benötigt, oder eher eine minimalistische Methode, wie die Erste.

Links zum Thema

Kleiner Hinweis

Aufgrund eines kleinen Coding Problems von WordPress mit einigen hier verwendeten Extensions werden offenbar einige Teile des Quellcodes nicht korrekt wiedergegeben.

  1. An Stelle der Minuszeichen in den Conditional Comments, bzw. sämtlichen Kommentaren wird ein Gedankenstrich dargestellt. Diesen Fehler konnte ich leider nicht immer korrigieren, da die Zeichen sich von der Darstellung nicht unterscheiden, jedoch vom ASCII Code.
  2. Ähnliches gilt für die Anführungszeichen, die ebenfalls nicht korrekt dargestellt werden. Das bedeutet, dass alle Anführungszeichen und Minuszeichen durch die korrekten in einem Editor ersetzt werden müssen.

Geschrieben : 02.August 2003

Letztes Update : 15.März 2007

Pages: 1 2