javascript: nur in href verwendbar?
Daniel unreg
- javascript
Hallo,
nun bin ich auch mal auf ein Problem gestoßen.
Laut SELFHTML darf nach Netscape (vermutlich 4.x wie im Kontext der Seite) javascript:funktionX(); nur innerhalb des href-Attributs von <a> und <area> vorkommen.
Bisher ging ich immer davon aus, dass javascript: in allen Eventhandlern verwendet werden muss, damit der Browser weiß, was er zu tun hat. Dachte vor allem daran, weil ich bereits gelesen habe, dass Eventhandler auch für CSS /geöffnet/ werden sollen.
Ist der javascrip:-Prefix innerhalb von Eventhandlern nun also falsch oder durchaus berechtigt?
Ist die Angabe von javascript: eventuell notwendig, wenn der HTTP-Header Content-Script-Type von text/javascript abweicht z.B. application/javascript, was ein Browser nicht versteht oder eine andere Klientseitige Sprache? - Wobei, gibt es andere Skriptsprachen, die man hier innerhalb von HTML anwenden könnte?
Gruß;
Hallo Daniel.
Bisher ging ich immer davon aus, dass javascript: in allen Eventhandlern verwendet werden muss, damit der Browser weiß, was er zu tun hat.
Nein, das ist nicht erforderlich. In den on*-Attributen im HTML steht grundsätzlich JavaScript. (IE und sein JScript einmal ausgenommen.)
Dachte vor allem daran, weil ich bereits gelesen habe, dass Eventhandler auch für CSS /geöffnet/ werden sollen.
Wo hast du dies gelesen?
Ist der javascrip:-Prefix innerhalb von Eventhandlern nun also falsch oder durchaus berechtigt?
Er ist gänzlich falsch, da dieser „Präfix“ in Wirklichkeit ein Label ist, welches z. B. mit einem goto-Kommando angesprungen werden könnte. Ein solches gibt es in JavaScript jedoch (glücklicherweise) nicht.
Ist die Angabe von javascript: eventuell notwendig, wenn der HTTP-Header Content-Script-Type von text/javascript abweicht z.B. application/javascript, was ein Browser nicht versteht
Diese beiden Content-Typen dürfte kaum ein Browser verstehen. Geläufig ist momentan „text/x-javascript“ und zunehmend „application/x-javascript“.
Wobei, gibt es andere Skriptsprachen, die man hier innerhalb von HTML anwenden könnte?
Den IE ausgenommen ist mir keine bekannt.
Einen schönen Freitag noch.
Gruß, Mathias
Hallo,
Nein, das ist nicht erforderlich. In den on*-Attributen im HTML steht grundsätzlich JavaScript. (IE und sein JScript einmal ausgenommen.)
Werde ich nie und nimmer verwenden ;-)
Wo hast du dies gelesen?
Hier im Forum habe ich vor eingier Zeit bereits gelesen, dass man für CSS3 die Öffnung der Eventhandler für CSS plant. Aber vermutlich habe ich da etwas durcheinandergebracht. Ich beschäftige mich eher mit den bereits Inplementierten Mitteln.
Diese beiden Content-Typen dürfte kaum ein Browser verstehen. Geläufig ist momentan „text/x-javascript“ und zunehmend „application/x-javascript“.
Zumindest text/javascript müsste doch bekannt sein? Warum sonst steht es als einziger (habe noch keinen anderen gesehen) in SELFHTML?
Letzteres macht allerdings Sinn, es wird auch von meinem Heimapachen so gesendet.
Gruß;
Hallo Daniel.
Diese beiden Content-Typen dürfte kaum ein Browser verstehen. Geläufig ist momentan „text/x-javascript“ und zunehmend „application/x-javascript“.
Zumindest text/javascript müsste doch bekannt sein? Warum sonst steht es als einziger (habe noch keinen anderen gesehen) in SELFHTML?
Als MIME-Typ im HTML ist dieser auch korrekt. Im HTTP-Umfeld ist jedoch „text/x-javascript“ geläufig.
Letzteres macht allerdings Sinn, es wird auch von meinem Heimapachen so gesendet.
Sicher? Eine Beispielhafte Headerausgabe bei mir:
$ curl -I http://download.noctus.net/js/selfjs
HTTP/1.1 200 OK
Date: Fri, 29 Dec 2006 02:07:09 GMT
Server: Apache/2.2.3 (Debian) mod_python/3.2.10 Python/2.4.4 PHP/5.2.0-8 »» mod_perl/2.0.2 Perl/v5.8.8
Last-Modified: Tue, 05 Dec 2006 19:46:51 GMT
ETag: "187adf-8c49-ba3c40c0"
Accept-Ranges: bytes
Content-Length: 35913
Content-Type: application/x-javascript
Wie du siehst, wird hier sogar „application/*“ ausgeliefert.
Einen schönen Freitag noch.
Gruß, Mathias
Hallo Mathias,
Geläufig ist momentan „text/x-javascript“ und zunehmend „application/x-javascript“.
Letzteres macht Sinn, es wird auch von meinem Heimapachen so gesendet.
Content-Type: application/x-javascript
Wie du siehst, wird hier sogar „application/*“ ausgeliefert.
Ich meinte auch, dass eben dieses gesendet wird.
Als MIME-Typ im HTML ist dieser auch korrekt.
Bei JavaScript scheint das ganze etwas verzwickter zu sein. Bei CSS soll ja laut Spezifikation alles ignoriert werden, was nicht als text/css gesendet wird.
Gehe ich also richtig in der Annahme, dass es für JavaScript keine so strenge Behandlung gibt? Und damit die Verwendung von text/javascript im HTML durchaus noch allen anderen vorzuziehen ist?
Gruß;
Hallo Daniel.
Gehe ich also richtig in der Annahme, dass es für JavaScript keine so strenge Behandlung gibt?
Theoretisch könntest du auch einfach text/plain im Content-Type-Header senden; so lange die Einbindung im HTML den Typ eindeutig vorgibt, hat dies wenig Relevanz.
Und damit die Verwendung von text/javascript im HTML durchaus noch allen anderen vorzuziehen ist?
Momentan ja, da die anderen einfach noch nicht weit genug verbreitet sind.
Einen schönen Freitag noch.
Gruß, Mathias
Hallo Mathias,
Theoretisch könntest du auch einfach text/plain im Content-Type-Header senden; so lange die Einbindung im HTML den Typ eindeutig vorgibt, hat dies wenig Relevanz.
Gut, das verstehe ich.
Momentan ja, da die anderen einfach noch nicht weit genug verbreitet sind.
Danke, dann hatte ich nie wirklich ein Problem damit ;-)
Gruß;