Sven Rautenberg: Meine Programmiertechnik auf einen Standard bringen, aber wie?

Beitrag lesen

Moin!

-Der Tag font fällt z.B. nicht unter die Kategorie "strict", man kann auf diesen auch mit CSS verzichten. (Frage nebenbei: Die CSS-Befehle font-size, font-color etc. bleiben aber erhalten, oder?)
Soll ich jetzt auf ältere Browser Rücksicht nehmen, z.B. durch Angaben wie "alink, vlink, text, etc." im Body-Tag oder die Verwendung von Layers, oder soll ich nur noch CSS und z.B. bei DHTML das DOM verwenden, sodass die alten Browser möglichst schnell "rausgedrängt" werden?

Keine Rücksicht, was die Verwendung von alten, bösen Tags angeht, aber je nach Seite und Kundenwunsch volle Rücksicht auf die Belange des alten Netscape 4. Ist manchmal etwas Fummelkram, aber meist kriegt man mit dem identisches Aussehen einigermaßen hin. Oder man setzt auf verschiedene Stylesheets: Eins vor NS4, und ein weiteres für die CSS-verständigen Browser.

-Das Zeichen " kann man durch den Code " ersetzen, allerdings geht es doch auch so ". Wie sollte ich hier vorgehen?

Das Zeichen " hat immer einen Verwendungszweck. Entweder begrenzt es Attributwerte (wie in <a href="link.html" onclick="aufrufderfunktion(); return false;">). Da muß selbstverständlich " geschrieben werden. " _kannst_ du schreiben, wenn du ein " im Text haben willst, genauso wie Umlaute auch zu ersetzen sind. Und " schreibst du, wenn du in Javascript oder einer serverseitigen Sprache das Zeichen " ausgeben willst, es selbst aber in einem String drinsteht, der mit " abgegrenzt ist - sonst würde der String ja an der falschen Stelle aufhören! :)

-document.write("<a href='link.html'>Link</a>")
oder
document.write("<a href="link.html">Link</a>")
?

Vollkommen egal. Hängt vom Anwendungsfall ab. Wenn du '...' als Stringbegrenzer wählst, mußt du " nicht escapen, aber natürlich '. Wenn du "..." als Stringbegrenzer wählst, mußt du ' nicht escapen, aber ".

-window.alert / window.document. / window.location / etc.
oder
alert / document / location / etc.
?

window wird implizit davorgesetzt. Wenn du also das eigene Fenster meinst, kannst du window explizit angeben, oder es lassen. Wenn du im Frameset agierst, mußt du irgendeine Angabe machen, wenn nicht das eigene Fenster gemeint ist.

-DOM: Sollte ich bei diesem Modell eher divs, etc. verwenden, oder ist dieses Modell auch in Zukunft für alle Tags (font, img, a, usw.) gedacht?

DOM ist für alles, was sich im Dokument befindet. Da <font> aussterben soll, ist es eher unwahrscheinlich, das noch vorzufinden.

-Type-Angaben: Kann ich drauf verzichten, oder sollte ich sie verwenden?
Z.B.: script type="text/javascript"

Ist unverzichtbar, da das sonst kein valider Code ist. Du kannst auf die language-Angabe verzichten.

-Language-Angabe: Sinnlos? Häufig weiß man ja noch nicht einmal die JS-Version.
Z.B.: script language="....."

Normalerweise ist bei type="text/javascript" der Javascript-Interpreter zuständig. Mit der _zusätzlichen_ language-Angabe _kann_ man die Ausführung auf gewisse JS-Versionen begrenzen.

-IF, THEN, ELSE: Diese Anweisung kann man in JavaScript auf zwei Arten umsetzen:
Beispiel:
i > z ? i = 1 : i = 0
oder
if (i > z)
{
i = 1;
}
else
{
i = 0;
}

Was ist sinnvoller?

Das eine ist kurz, das andere lang. Das eine ist eher kryptisch und deshalb prima für eher einfache Konstrukte geeignet, das andere ist für die ausführliche Programmierung (wenn beispielsweise mehrere Befehlsschritte ausgeführt werden sollen).

- Sven Rautenberg