DevTrain Startseite Advanced Developers Conference vom 14.-15. Februar 2011  
  
  
SUCHEN:  
ARTIKEL ONLINE: 525   

Kategorien
.NET
Datenbanken
Web
XML

Allgemein
Camp
Foren
Events
Persönliche Einstellungen
Registrieren
Prämien Shop
Kontakt
Impressum
Über DevTrain

Autoren


   Autor: Hannes Preishuber Artikel Drucken
        
HTA HTML Application

"Programme wie für den Browser die am Client laufen", das ist im wesentlichen die Funktion von HTA Seiten. Dabei setzt dieser von Microsoft erfundene Standard auf HTML, JScript, CSS und noch einiges. Die HTA Seite wird dabei am Client gespeichert und auch ausgeführt. Am ehesten trifft der Vergleich VBScript mit WScript ausführen zu. Das ganze ist nicht nicht neu, sondern datiert ca auf das Jahr 99 zurück. Trotzdem sind damit einige elegante Lösungsansätze auch in der ASP.NET Welt machbar.

Mit dem HTA:Application Element wird die Anwendung initalisiert und gesteuert. Eine HTA Anwendung läuft zwar auch ohne dieses Element, lässt sich so aber besser steuern. Der Typ HTA wird von Visual Studio 2002 und 2003 unterstützt. Auch mit Frontpage lassen sich solche Dateien bearbeiten.

Beginnen wir mit einem einfachen Beispiel:
<html>
 <head>
 </head>
 <body>
<form method="post">
      <input type="button" value="Schaltfläche" name="B3" onclick="alert('msg')"></p>
    </form>
 </body>
</html>


Die Datei wird einmal mit HTA und einmals als HTM gespeichert. Der Aufruf zeigt zwei verschiedene Ergebnisse

Die HTA Variante erinnert in der Tat eher an eine Anwendung, vor allem, da die Browser üblichen Ränder fehlen.
Der wesentlichste Unterschied ist aber, das HTA nicht den Sicherheistsbeschränkungen des Browsers unterliegen, sodas man zb auf Verzeichnisse und Laufwerke zugreifen kann. Allerdings lassen sich HTA Files auch nicht vom Webserver ausführen, sondern müssen zunächst lokal gespeichert werden.

So lässt sich z.B. ein Problem lösen, das man die Größe eines Files erst nach dem Upload auslesen kann, da HTML den lokalen Zugriff nicht zulässt .HTA darf auf das lokale File und seine Eigenschaften zugreifen.

Wie bereits erwähnt kann nun per hta:application Element und dessen Attribute auf die Eigenschaften Einfluss genommen werden.

applicationName
Darüber wird der Name der Anwendung gesetzt. Wenn ausserdem noch singleinstance="yes" gesetzt ist, kann diese dann nur einmal gestartet werden


Border
Mögliche Werte sind: dialog (Dialogbox Rahmen), none (kein Rahmen), thick (dicker Rahmen), thin (dünner Rahmen). Normal ist der Standardwert.


borderStyle
Definiert den Stil des Rahmens. Mögliche Werte sind: complex (erhöht und vertieft), normal (normaler Stil), raised (erhöht), static (statisch), sunken (vertieft).

caption
Definiert, ob die Titelleiste angezeigt werden soll oder nicht (yes/no).

contextMenu
Definiert, ob das Kontextmenü angezeigt werden soll wenn man mit der rechten Maustaste in die Anwendung klickt, oder nicht (yes/no).

icon
Enthält den Pfad (URL) des Programmicons.

innerBorder
Definiert, ob der innere Rahmen angezeigt werden soll oder nicht (yes/no).

maximizeButton
Definiert, ob ein Max-Button in der Titelleiste angezeigt werden soll oder nicht (yes/no).

minimizeButton
Definiert, ob ein Min-Button  in der Titelleiste angezeigt werden soll oder nicht (yes/no).

navigable
Definiert, ob eine neues Dokumente per Klick auf einen Link, im aktuellen Anwendungsfenster angezeigt werden sollen oder ob dazu ein neues Browser-Fenster geöffnet werden soll (yes/no).

scroll
Definiert, ob Bildlaufleisten angezeigt werden sollen oder nicht, oder ob automatisch entschieden werden soll. (yes/no/auto)

scrollFlat
Definiert, ob die Bildlaufleisten flach oder im normalen 3D-Stil angezeigt werden soll. (yes/no).

selection
Definiert, ob Inhalt des Fensters mit der Maus oder der Tastatur markiert werden kann. (yes/no).

showInTaskBar
Definiert, ob die Anwendung im der Task-Leiste anegzeigt werden soll (yes/no).

sysMenu
Definiert, ob die System-Buttons (Min, Max, Close) in der Titelleiste angezeigt werden soll (yes/no).

version
Definiert die Versionsnummer (oder Buchstaben).

windowState
Definiert, die Startgrößer der Anwendung. Folgende Werte sind möglich: maximize/minimize/normal

ID
Über die ID wird das Dokument später im DOM Adressiert. Damit lassen sich auch Commandline Paramter auslesen. So lässt sich abfragen ob beim Start -i als Paramter übergeben wurde.

if(document.all.htaapp.commandLine.search(' -i') != -1)
 {...

Frames

Eine Besonderheit ergibt sich auch in Zusammenarbeit mit Frames (FRAME und IFRAME). Ein zusatz Attribut TRUSTED=YES erlaubt alle Priviligien von HTA in allen Frames anzuwenden.

Eine mögliche Anwendung ist ein Chat System mit HTA und Frames, das seinen Gesprächsinhalt per ASPX vom Web holt. HTA Appliaktion die übers web gestartet werden sollen, werden wie EXE Files vom Browser behandelt und erfordern mindestens eine Bestätigung. Der Vorteil ist, das der Benutzer immer mit der aktuellsten Anwendung arbeitet.
Im nächsten Artikel werden die Grundlagen von HTC erklärt.

 

 


 


DevTrain Camp - Schneller zum .NET 3.5 Developer
 
Verwandte Artikel      Verlinkte Dokumente
    Keine verknüpften Dokumente
    Keine Links vorhanden

  Erfasst am: 15.09.2003
  Gültig bis: 14.12.2003
19 Ratings
Bewertung: 62,1%
schlecht    sehr gut  

 
© Copyright 2007 ppedv AG