![]() | HTMLWorld: Home | Hier werben | Impressum | |
|
|
|
|
|
|
|
DHTML Behaviors: HTC-Komponentenvon Jan Winkler <public:component> HTC-Dateien könne auf zweierlei Arten behandelt werden: einerseits können sie das Verhalten eines bestehenden (HTML-)Objektes beschreiben (ab MSIE 5.0) und andererseits können sie selbst ein Objekt darstellen und in das Dokument einbinden (ab MSIE 5.5). Die erste Möglichkeit wurde vorhergehend schon mehrmals besprochen. Bei der zweiten Möglichkeit schreibt die Komponente sich sozusagen selbst in das Dokument hinein. Dazu wird innerhalb des Dokumentes ein eigener Tag (Custom Tags / http://msdn.microsoft.com/workshop/author/dhtml/overview/customtags.html) definiert, dem die Komponente zugewiesen wird. Beispiel: <html xmlns:meinNamespace> Die Komponente schreibt sich dann selbst: <public:component> PUBLIC:COMPONENT
|
| Eigenschaft | Beschreibung |
|---|---|
id | Stellt eine eindeutige Identifikation der Komponente dar. |
lightWeight | Boolescher Wert, der beschreibt, ob die Datei Markup (z.B. HTML) enthält (true) oder nicht (false / Standard). Wird benötigt, wenn sich die Komponente selbst schreibt. |
literalContent | Boolescher Wert, der beschreibt, ob der enthaltende Markup gerendert werden soll (true) oder nicht (false / Standard). Wird benötigt, wenn sich die Komponente selbst schreibt. (siehe Microsoft / http://msdn.microsoft.com/workshop/ author/behaviors/overview/ literalcontent_ovw.html) |
name | Name mit dem die Komponete innerhalb des Dokumentes angesprochen werden kann. |
supportsEditMode | Boolescher Wert, der beschreibt, ob der Inhalt einer selbst-schreibenden Komponente editierbar ist (true) oder nicht (false / Standard). |
tagName | Name des selbstdefinierten Tags (bei selbstschreibenden Komponenten). |
urn | Adresse damit die Komponente identifizieren werden kann. |
Das PUBLIC:ATTACH-Element bindet eine Funktion an ein Ereignis. Das entspricht in etwa dem aus HTML bekannten <element onEreignis="funktion()"> Format in anderer Schreibweise. Dem Element müssen zwei Werte übergeben werden: Das Attribut event enthält den Namen des Ereignisses das angebunden werden soll, sowie das Attribut onevent das die Auszuführende Funktion bei Eintritt des Ereignisses beschreibt. Ausserdem können optional die Attribute for und id definiert werden. For gibt die Quelle des Ereignisses (z.B. window, document, ...) an. Die id beschreibt eine eindeutige Identifikation. Beispiel:
<public:attach event="onclick" onevent="machwas()" />
<script>
function machwas() { ... }
</script>
Das PUBLIC:DEFAULTS-Element definiert die Standard-Eigenschaften einer Komponente. Es besitzt folgende Attribute:
| Eigenschaft | Beschreibung |
|---|---|
canHaveHTML | Boolescher Wert, der beschreibt, ob die Datei Markup (z.B. HTML) enthält (true) oder nicht (false / Standard). Wird benötigt, wenn sich die Komponente selbst schreibt. |
contentEditable | Boolescher Wert, der beschreibt, ob der Inhalt einer selbst-schreibenden Komponente editierbar ist (true) oder nicht (false / Standard). Der Wert inherit besagt, dass die Eigenschaft vom Eltern-Element übernommen werden soll. |
style | Entspricht dem style-Attribut eines HTML-Elements. |
tabStop | Boolescher Wert, der beschreibt, ob die Komponente durch die Tabulatur-Taste (Tab) aktiviert werden kann (true) oder nicht (false / Standard). |
viewInheritStyle | Boolescher Wert, der beschreibt, ob die Style-Angaben des Eltern-Elements übernommen werden können (true / Standard) oder nicht (false). |
viewLinkContent | Boolescher Wert, der beschreibt, ob der Markup-Inhalt der Komponente als ViewLink (siehe http://msdn.microsoft.com/ workshop/author/behaviors/overview/ viewlink_ovw.html) verwendet wird (true) oder nicht (false / Standard). |
viewMasterTab | Boolescher Wert, der beschreibt, ob das Master-Element des ViewLinks in die Tabulatur-Reihenfolge des Dokumentes eingebunden wird (true / Standard) oder nicht (false). |
Das PUBLIC:EVENT-Element definiert ein Ereignis der Komponente. Dazu wird das Attribut name (Name des Ereignisses) erwartet. Optional kann eine id vergeben werden, durch die das Ereignis innerhalb des Scriptes angesprochen werden kann. Beispiel:
<public:event name="onMeinEreignis" ID="Ereignis_1" />
<script>
/* ... */
Ereignis_1.fire(meinEreignis);
/* ... */
</script>
Das PUBLIC:METHOD-Element definiert eine Methode der Komponente. Diese wird durch das name-Attribut beschrieben und muss als Funktion innerhalb der Komponente vertreten sein. Ausserdem können optional eine id sowie ein interner Name (internalname) vergeben werden. Die id beschreibt eine eindeutige Identifikation der Methode. Der interne Name wird dazu verwendet um Methoden nach Aussen hin einfacher bzw. besser erscheinen zu lassen. Dazu wird der eigentliche Name der Funktion als interner Name definiert - als Methodenname wird ein anderer (einfacherer) gewählt. Wird nun von Aussen, d.h. vom Dokument aus, die Methode aufgerufen kann dies über den einfachereren Namen geschehen. Wird kein interner Name definiert gilt automatisch der Wert des name-Attributes. Beispiel:
<public:method name="meineMethode">
<script>
function meineMethode(v)
{ /* ... */ }
</script>
... oder:
<public:method name="meineMethode" internalname="abc_fgt_12a">
<script>
function abc_fgt_12a(v)
{ /* ... */ }
</script>
... wird jeweils aufgerufen durch:
meineKomponente.meineMethode(wert);
Das PUBLIC:PROPERTY-Element definiert eine Eigenschaft/ein Attribut der Komponente. Dazu wird der name der Eigenschaft erwartet. Alternativ kann dazu auch ein interner Name (internalname) beschrieben werden (siehe PUBLIC:METHOD). Ausserdem stehen die folgenden optionalen Attribute zur Verfügung: get (Funktion die aufgerufen werden soll, wenn der Wert gelesen wird), id (Identifikation), persist (Boolescher Wert, ob die Eigenschaft persistent/beständig sein soll), put (Funktion die aufgerufen werden soll, wenn der Wert geschrieben wird) und value (Standardwert der Eigenschaft). Des Weiteren besitzt das Element die Methode fireChange(). Wird diese ausgeführt, deutet sie dem Dokument, dass die betreffende Eigenschaft geändert wurd und somit das onpropertychange-Ereignis ausgelöst werden muss. Wurde der put-Wert definiert, brauch diese Methode nicht extra aufgerufen werden. Beispiel:
<public:property id="eigenschaft1" name="meineEigenschaft"
put="setzen" get="lesen"/>
<script>
var eigenschaft = null;
function lesen()
{
return(eigenschaft);
}
function setzen(wert)
{
eigenschaft = wert;
eigenschaft1.fireChange();
}
</script>
Bitte bemerken Sie, dass, sobald die get- oder put-Eigenschaft definiert wurde, der interne Name ignoriert wird.
Bitte beachten Sie, dass auch für HTC-Dateien erhöhte Sicherheitsmerkmale gelten. Das bedeutet, dass HTC-Dateien nur auf dem Server verwendent werden können, auf dem sich auch das Quelldokument befindet. Dazu kommt, dass es sich bei der Verbindung auch um das gleiche Protokoll und die gleiche Domain handeln muss. Als Beispiel kann z.B. eine Datei http://www.name.de/abc.html die Datei http://www.name.de/abc.htc verwenden, allerdings können die Dateien https://www.name.de/abc.htc und http://www.name-name.de/abc.htc nicht verwendet werden.
Bitte beachten Sie auch, dass es sich bei HTC-Dateien um XML handelt und deshalb auch die Regeln von XML gelten müssen (/> bei leeren Elementen, Anführunsgezeichen sind zu setzten, ...).
|
|
| « zurück | weiter » |
| html-Datei in Container nachladen von Piwi | |
| blättern navigation - nicht alle seitenzahlen zeigen von Powell | |
| XML-Datei per Javascript ver- und entschlüsseln?! von Nupsi | |
| getElementById/innerHTML von duff_beer | |
| Brauche dringend Hilfe/Gallery2.3 von Harburger1887 | |
| Window Open von javahack | |
| Musik nach bestimmter Zeit abspielen von InsaYn | |
| Merlin erscheint nicht auf der Website von Moijto | |
| Bräuchte Hilfe von jemanden der sich auskennt ;-) von ladehf | |
| Re: php Style über javascript laden nur wie? von TBT |
DHTML Behaviors
| Autor: | Jan Winkler | ||
| Bewertung: | |||
| Community: | 754 Beiträge im DHTML Behaviors Forum |
Navigation
| html-Datei in Container nachladen von Piwi | ||
| blättern navigation - nicht alle seitenzahlen zeigen von Powell | ||
| XML-Datei per Javascript ver- und entschlüsseln?! von Nupsi | ||
| getElementById/innerHTML von duff_beer | ||
| Brauche dringend Hilfe/Gallery2.3 von Harburger1887 | ||
| Window Open von javahack | ||
| Musik nach bestimmter Zeit abspielen von InsaYn | ||
| Merlin erscheint nicht auf der Website von Moijto | ||
| Bräuchte Hilfe von jemanden der sich auskennt ;-) von ladehf | ||
| Re: php Style über javascript laden nur wie? von TBT | ||
| Bannerwechsel mit mehreren Bannern und per Klick von katha126 | ||
| HTML Referer ändern von nhs | ||
| JavaScript Weiterleitung von xmen | ||
| Zeitgesteuertes und zufälliges laden verschiedener index.php von Brainflame | ||
| Dynamisch erstellten (mit PHP) Checkboxen mit jQuery/AJAX au von Kyfe |
|
|
|
|
|
|
Startseite | Kontakt | Über uns | Impressum | Datenschutz | Was sind das für grüne Links? Unsere Angebote: HTML World | Downloads World | IT-News World | HSDPA World | Traveling World | Weather World | HSDPA | Internet Stick |