Deep-Linking in Flash- und AJAX-Anwendungen

Seitenmetaphern im WWW sind eine Verkettung einzelner Webseiten, die jeweils genau einen Zustand darstellen. Auf traditionellen Internetseiten wird bei einer Nutzeraktivität eine neue Webseite geladen, die einen neuen Zustand repräsentiert. Jede Seite und damit jeder Zustand kann durch eine URL adressiert werden. Durch den Einsatz von Flash- und AJAX-Anwendungen werden diese Seitenmetaphern durchbrochen, da die Client-Anwendungen unterschiedliche Zustände annehmen können. In solchen Anwendungen kann eine Kommunikation mit dem Server stattfinden, ohne dass die Seiten-URL wechselt. Durch diesen Umstand werden die typischen Browser-Funktionen “Seite vor” und “Seite zurück”, sowie die History-Anzeige außer Kraft gesetzt. Weiterhin können die Zustände der Anwendung nicht über eine URL adressiert oder als Bookmark gespeichert werden.
Die Adressierung unterschiedlicher Zustände kann durch die Übergabe von Parametern an die Client-Anwendung realisiert werden und wird als Deep-Linking bezeichnet. Das Open-Source-Projekt SWFAddress unterstützt durch eine JavaScript- und ActionScript-Bibliothek das Implementieren von Deep-Linking in Flash- und AJAX-Anwendungen. Durch den Einsatz von SWFAdress kann die Anwendung in die Lage versetzt werden, aufgrund von Änderungen in der URL-Leiste des Browsers den Zustand zu wechseln. Weiterhin besteht die Möglichkeit die URL durch die Anwendung zu manipulieren, sodass der jeweils aktuelle Zustand als Bookmark gespeichert werden kann.
Realisiert ist das Deep-Linking in SWFAddress mit Hilfe von HTML-Sprungmarken. Bei der Verwendung von HTML-Sprungmarken werden Änderungen in der URL durch ein #-Zeichen abgetrennt. Dies ermöglicht es die URL zu ändern, ohne einen Request zum Server zu senden und ohne einen neuen Seitenaufbau im Browser zu erwirken. Die Manipulation der URL durch die Anwendung, sowie das Reagieren auf eine URL-Veränderung übernimmt SWFAddress. Um das Framework nutzen zu können, muss es zunächst initialisiert werden. Die Initialisierung erfolgt mit Hilfe von JavaScript. Dabei wird ein Flash-Objekt angegeben, welches für die Nutzung von SWFAddress registriert wird. Weiterhin können durch JavaScript Event-Listener registirert werden, die auf Veränderungen der URL reagieren.
Für die Interaktion der Flash-Anwendung mit SWFAddress wird die ActionScript-Bibliothek des Framework als SWC-Datei in die Anwendung eingebunden. Im Anschluss steht die ActionScript-
Klasse SWFAddress zur Verfügung, über die auf die API des Framework zugegriffen werden kann. Damit die Flash-Anwendung auf Veränderungen der URL reagieren kann, können auch im Flash-Teil EventListener registriert werden. Für die Manipulation der URL steht die Funktion setValue(path:String):void zur Verfügung. Der Parameter gibt den neuen Pfad der URL nach dem #-Zeichen an, das die Sprungmarke von der restlichen URL trennt.
Auf der Webseite von SWFAddress kann man die aktuelle Version kostenlos downloaden und es ist eine ausführliche Dokumentation der API zu finden,