info@a-coding-project.de

DHTML Behaviors: Default-Behaviors

Neben der Möglichkeit das Verhalten der Objekte selbst zu definieren, stellt der Internet Explorer eigene Verhaltens-Vorlagen, sogenannte Default-Behaviors, zur Verfügung. Diese werden durch die URL (wenn man es so nennen möchte) #default#name definiert, wobei name durch den Namen der Vorlage ersetzt wird. Hier eine Auswahl:

AnchorClick

Die AnchorClick-Vorlage kann nur bei Links (a) verwendet werden. Sie definiert, das bei Klick auf den Link die Verzeichnis-Ansicht erscheinen soll. Dazu muss allerdings die 'Web Folders' Komponente installiert sein und es muss sich ein WebDAV Server (z.B. MSIIS) oder ein Web Extender Client (z.B. MS Frontpage 2000) bei der angegebenen Adresse befinden.
Die Vorlage verwendet außerdem zwei Attribute: folder (anzuzeigende Verzeichnis) und target (Zielfenster). Beispiel:

<style> A {behavior:url(#default#AnchorClick);} </style>
<a href="sonstigeBrowser.htm" folder="/msie/">Verzeichnis öffnen</a>

clientCaps

Die clientCaps-Vorlage stellt Informationen über den verwendeten Browser zur Verfügung. Sie kann bei jedem (HTML-)Element angewandt werden und verfügt im Grunde über die gleichen Eigenschaften und Methoden der JavaScript Objekte window.screen bzw. window.navigator. Beispiel:

<div style="behavior:url(#default#clientCaps)" id="client"> </div>
<script>
alert('Verbindung: '+document.all.client.connectionType);
</script>

download

Die download-Vorlage definiert eine Komponente die es ermöglicht Downloads von jeglichen Dateien zu starten. Dazu stellt die Komponente die Methode startDownload() zur Verfügung. Dieser wird die URL der Datei sowie eine Funktion übergeben, die nach dem Download aufgerufen werden soll. Dazu sei vermerkt, dass der Funktion ein Parameter übergeben wird. Dieser enthält (bei Textdateien) den Inhalt der Datei bzw. (bei allen anderen Dateien) das Format der Datei. Beispiel:

<script> function machwas(s){alert(s)} </script>
<div style="behavior:url('#default#download')" id="download"> </div>
<a href="javascript:download.startDownload('datei.exe',machwas())">Download starten</a>

homePage

Die homePage-Vorlage bietet Methoden zum Setzen (setHomePage), Aufrufen (navigateHomePage) und Überprüfen (isHomePage) der Startseite (Homepage) des Browsers. Beispiel:

<div style="behavior:url('#default#download')" id="home"></div>
<a href="javascript:setzen()">Setzen</a>
<script>
function setzen()
{
 if(home.isHomePage('http://meineseite.de') == true)
 {
  home.setHomePage('http://meineseite.de');
  home.navigateHomePage();
 }
}
</script>

httpFolder

Die httpFolder-Vorlage ermöglicht es dem Browser in ein Verzeichnis zu navigieren (ähnlich AnchorClick). Die Methoden hierzu sind navigate(Verzeichnis) und navigateFrame(Verzeichnis,Frame). Beispiel:

<style> P {behavior:url(#default#httpFolder);} </style>
<p onclick="document.all.hf.navigateFrame('/abc/def/','meinframe')" id="hf">Verzeichnis öffnen</p>

saveFavorite

Die saveFavorite-Vorlage ermöglicht es den aktuellen Status der Seite in den Favouriten einzutragen. Kehrt der Benutzer über die Favouriten wieder auf die gleiche Seite zurück wird dieser Status wieder hergestellt. außerdem bietet sie die Ereignisse onsave (wenn die Adresse in die Favouriten gespeichert wurde) und onload (wenn die Adresse aus den Favouriten geladen wird). Beispiel:

<div style="behavior:url(#default#savefavorite);" 
     onsave="alert('Seite in den Favouriten gespeichert!')" 
     onload="alert('Seite aus den Favouriten geladen!')">
</div>

saveHistory

Die saveHistory-Vorlage stellt eine Verbindung zur History (Besuchte Seiten) des Browsers auf. Es bietet dazu die Ereignisse onload (wenn die Adresse aus der History angesteuert wird) und onsave (wenn die Adresse in die History aufgenommen wird). Beispiel:

<meta name="save" content="history">
<style>A { behavior:url(#default#savehistory); } </style>
...
<a href="javascript:location.reload()" 
   onload="alert('Load')" 
   onsave="alert('Save')">Gleiche Seite</a>
<a href="javascript:history.go(-1)">vorherige Seite</a>
<a href="javascript:history.go(1)">nächste Seite</a>

Bitte beachten Sie, dass dazu immer ein Meta-Tag mit dem Namen (name) save und dem Inhalt (content) history nötig ist.

Anmerkung: Microsoft definiert noch weitere Default-Behaviors (anim, mediaBar, savesnapshot, userData). Auf diese wurde hier allerdings, auf Grund ihres eher geringen Nutzwertes bzw. zu großen Umfangs für den 'Standard-User', verzichtet. Eine komplette Übersicht findet sich unter http://msdn.microsoft.com/workshop/author/behaviors/reference/reference.html

Über uns

Stefan Wienströer

Wir entwickeln Webanwendungen mit viel Leidenschaft. Unser Wissen geben wir dabei gerne weiter. Mehr über a coding project

Auch interessant