Cheatah: HTML, CSS, JAVASCRIPT

Beitrag lesen

Hi,

Hallo, ich habe einige Fragen zu javascript, Antworten wenn möglich an
email:totti@iamit.com.

auch dieses Forum ist nicht write-only, deswegen antworte ich hier :-) Ich schicke aber eine Mail raus, _daß_ ich geantwortet habe.

  1. Wenn ich in einer html-Datei ein frameset definiere, kann ich dann kein
    javascript in dieser Datei ausführen (z.B. im head eine javascript-Datei
    einlesen) ? Hat bei mir jedenfalls nicht funktioniert.

Doch, ist prinzipiell kein Problem. Eventuell macht nur das eingesetzte Script keinen Sinn in dem Kontext, so daß Dein Test erfolglos war.

  1. Um eine dynamische Textausgabe in der Statuszeile des Browsers auszugeben
    (Marquee usw.), wäre es vorteilhaft, wenn man die Länge der Statuszeile
    abfragen könnte. Geht das ?

Nein, das geht nicht. Die Breite wäre auch höchstens in Pixeln bestimmbar, nicht in Zeichen, und da die Zeichenbreite variabel ist, ist eine Umrechnung praktisch nicht möglich.
Nebenbei erwähnt: Die Statusleiste hat ihren Sinn und sollte wenn möglich nicht verändert werden.

  1. Wieso und wann muß bei javascript innerhalb von  html-tags ein return
    true angegeben werden ?

Das mußt Du nicht, aber der return-Wert ergibt zeitweise einen Sinn. So führt
<A href="#" onClick="wasauchimmer(); return false;">Click</A>
dazu, daß bei einem Klick auf den Link zwar die Funktion wasauchimmer() ausgeführt wird, der Link selbst jedoch nicht (kein Eintrag in die History etc.)

  1. Wie sieht es generell mit der Semikolonsetzung bei javascript (egal ob im
    head oder in html-tags) aus, sollte man nach jeder Anweisung eins setzen
    oder ist das egal ?

Man sollte, schon alleine der programmtechnischen Optik wegen. Wenn Du aber pro Zeile nur einen Befehl einsetzt, wird das Semikolon "dazugedacht". Ich persönlich setze sogar bei "onLoad='start();'" u.ä. ein Semikolon, weil ein ordentlicher Befehl eine Endemarkierung braucht :-)

  1. Wie kann ich überprüfen, ob der Client-Browser javascript, css oder java
    unterstützt ?

JavaScript: Durch den <script>-Tag. Mit <noscript> kannst Du einen Alternativtext etc. ausgeben.
Java: if (navigator.javaEnabled()) { alert("Java ist aktiv"); } // funktioniert ab JavaScript 1.1
CSS: Da kannst Du nur raten. Browsername und Versionsnummer erkennen und daraus ablesen, ob der Browser CSS beherrscht ist die eine Sache; die andere ist, daß man es auch abschalten kann (bei Netscape fällt CSS zusätzlich flach, wenn JavaScript deaktiviert ist). Mir ist keine Abfragemöglichkeit dazu bekannt.

  1. Ich möchte beim mouseover über einem Button einen Text in der Statuszeile
    ausgeben. Wenn der User den Button anklickt (danach wird in ein anderes
    frame eine neue Datei geladen), soll der Text auch noch in der Zeile stehen
    bleiben, stattdessen steht dort aber "document done" bzw. "Fertig".

Wie gesagt: Die Statuszeile hat ihren Sinn. Der besteht darin, daß der aktuelle Status angezeigt wird. Wenn Du _unbedingt_ darauf bestehen willst, daß ein anderer Text dort drin steht (was ich persönlich als sehr störend erachte), kannst Du in einem anderen Frame (also nicht dem, der neu geladen wird) mit setTimeout oder setInterval regelmäßig, z.B. alle 100 Millisekunden, den Status neu setzen. Vergiß nicht, das Intervall zu beenden, wenn die Seite fertig geladen ist, sonst wird der Rechner permanent mit einer unnötigen Funktion belastet.

  1. Ich möchte vor dem Abschicken eines Formulares die Felder überprüfen und
    jenachdem eine Fehlermeldung in das aktuelle html-Fenster an eine bestimmte
    Stelle schreiben. Geht das ?

Ja, mit onSubmit im <form> oder statt <input type="submit"> mit <input type="button" onClick="meineFunktion();">, wobei meineFunktion() am Ende submit() auf das Formular anwenden muß. Funktioniert nicht mit mailto-Formularen, auf die Du sowieso aus verschiedensten Gründen verzichten solltest.

  1. Wenn ich dynamisch Images anzeigen möchte, soll man ja für jedes Image
    beim Laden der Seite ein neues Objekt anlegen, warum ? Ich stelle die Frage
    aus folgendem Grund: Wenn ich bei einer angezeigten Grafik einfach die
    .src-Angabe verändere, funktionierts auch; ich nehme an, daß bei meiner
    Vorgehensweise die neuen Grafiken immer erst bei Veränderung der src.Angabe
    vom Server geladen werden oder ?

Es funktioniert auch ohne. Wenn Du aber Beim Laden des Dokuments schon die Bilder "bestellst", werden sie sofort geladen und sind beim mouseOver bereits vorhanden. Tust Du es nicht, entfällt der mouseOver-Effekt ggf. beim ersten Mal, weil die Grafik erst angefordert wird, wenn sie eigentlich schon gebraucht wird.

Ich bin gespannt auf die nächsten Fragen :-) und hoffe, daß ich helfen konnte!

Cheatah