Pro und Contra DOM: geht Logik vor Bequemlichkeit?

Re: Tickerdarstellung außerhalb IE

@SilentWarrior
innerHTML kennen mittlerweile auch Geckos,Opera,Konqueror und Safari

http://www.quirksmode.org/dom/innerhtml.html

Ich behaupte mal schlicht... jemand, der einen Browser benutzt, der kein innerHTML kennt, dessen Browser kann auch kein Javascript.
Die restlichen 0,2% sind mir persönlich egal.
 
Re: Tickerdarstellung außerhalb IE

Ich habe lieber ein Meerschweinchen auf dem Kunstrad das fährt, als einen Kunstradfahrer, der so fett ist, dass er zwar theoretisch fahren könnte in der Praxis aber das Rad zusammenbricht.

Will sagen einige Methoden des DOMs sind sehr unhandlich und innerHTML wird zumindest z.Zt noch besser unterstützt als die data Eigenschaft oder createTextnode(). Ärgerlich bei data ist z.B. die Fehlermeldung (oder manchmal sogar das Fehlen jeglicher Rückmeldung), die es gibt, wenn du versuchst - wohlgemerkt versuchst, denn es klappt nicht - in ein leeres Element zu schreiben. innerHTML funktioniert da Problemlos auch ohne   im sonst leeren Element. Es wäre auch manchmal wesenlich weniger umständlich einfach den HTML-Code in ein Elment reinzuschreiben, als erst tausende Knoten zu erzeugen, sie dann einzuhängen und mit Werten und Attribut/Werte-Paaren zu belegen. Wozu hat men denn eine Markup-Sprache definiert, wenn man sie dann nicht benutzen darf?

Versteh mich nicht falsch, das DOM ist ein Segen, aber es nicht der Weisheit letzter Schluss. Vielfalt gibt kreativen Raum.
 
Zuletzt bearbeitet:
Re: Tickerdarstellung außerhalb IE

Mmmh.... rein prinzipiell finde ich innerHTML schon recht praktisch, wobei mein Herz eher für die DOM-Variante schlägt.

Einem Programmierer stehen bei einer Sache wie innerHTML wahrscheinlich die Haare zu Berge.

Aber das ist mal ein gutes Beispiel, wie sich Browserhersteller das Leben schwermachen, und dabei noch offizielle Standards torpedieren.
Vor 3 Jahren kannte ausser dem IE kein anderer Browser innerHTML.

Dadurch, dass jetzt alle diese Eigenschaft interpretieren, ist der Zug so gut wie abgefahren in eine strahlende Browser-Zukunft: jeder hält sich an die Standards und interpretiert sie identisch.... wäre das nicht erstrebenswerter, als ein paar Zeilen Code zu sparen?
 
Re: Tickerdarstellung außerhalb IE

Wieso kann man's nicht einfach als ein Makro oder Shorthand in den Standart integrieren? Ist ja auch nichts anderes als das erstellen von Knoten, setzen von Attributen und anschließendes Einhängen nur in manchen Situationen schlicht praktischer...

Hier muss ich als Microsoft-Hasser doch mal zugeben, dass es Benutzerfreundlich und eine sinnvolle Neuerung ist - vielleicht die einzige, die MS je zu Stande gebracht hat. Aus Programmierer-Sicht kann ich natürlich verstehen, dass man da Probleme hat, aber besser die Programmier haben Problem - die sind schließlich zum Problemlösen da - als dann später die Endbenutzer. JavaScritp soll ja im Idealfall wirklich was für jeden sein, genau wie das Web. Außerdem kann man innerHTML ja wirklich wie ein XML-File behandeln, die Daten rausphrasen und es dann per Algorithmus mittels DOM-Methoden ins Dokument integrieren. So hat man dann zwei Fliegen mit einer Klappe geschlagen.
 
Zuletzt bearbeitet:
Re: Tickerdarstellung außerhalb IE

Mmmh.... wie integrieren?
Der Standard ist ein Blatt Papier, wo Leute mit Ahnung Regeln aufstellen.
Das Ziel dieser Standards ist es nicht, Betroffenen das Leben leichter zu machen, sondern eher, sich auf einen gemeinsamen, logischen Nenner zu einigen.

Ich bin zwar kein Programmierer, aber etwas wie innerHTML ist aus programmiertechnischer Sicht, so glaube ich, alles andere als logisch.

Logisch ist das DOM: man nimmt ein Objekt und weist im eine Eigenschaft zu.

Was macht innerHTML: man nimmt ein Objekt, weist im eine Eigenschaft zu.... und auf einmal hat das Objekt unzählige neue Eigenschaften, und beinhaltet wie durch Geisterhand neue Objekte ..... das ist wie gesagt sehr praktisch, aber äusserst murksig.

Und vergiss bei alledem nicht.... das DOM ist nicht speziell für Javascript oder Webbbrowser gedacht.
 
Re: Tickerdarstellung außerhalb IE

Ich sag ja ich versteh die Einwände der Programmier. Bin gerade dabei Java zu lernen, das ja doch sehr auf Objekte und Methoden ausgerichtet ist und mir würden sich bei sowas auch die Haare einzeln aufstellen.

Trotzdem, ich bleib bei meinem Edit (habe meinen letzten Beitrag zeitgleich mit deinem nochmal editiert): JavaScript als ScriptSprache für alle sollte schon auch ein wenig benutzerfreundlich sein, sonnst kann ich gleich in Assembler alles machen (oh nein kann ich doch nicht, weil's mir bisher zu unverständlich war um es mal eben zu lernen und da geht es dem unbedarften HP-Bastler der nur bewegte Bildchen haben will sicher auch so :rolleyes: ).
Wenn man es programmier- und denktechnisch so beschreibt, wie ich es angedacht habe birgt es auch eine gewisse Logik in sich und "torpediert" das DOM nicht unbedingt.

"Der Sabbat ist für den Menschen da"

Andere Sache: Willst du nicht die ganzen Post in einen eigenen Thread verschieben? Denn irgentwie passen die nicht so ganz zum Thema...
 
Zuletzt bearbeitet:
Re: Tickerdarstellung außerhalb IE

Hui, da hab ich ja ne ganz schöne Diskussion ausgelöst.

Naja, ich meine, wer will, kann imo gerne innerHTML verwenden. Ich mache das nicht (mehr). Ich find auch nicht, dass das DOM besonders kompliziert zu handhaben wäre oder schlecht unterstützt wird (jeder moderne Browser, der JavaScript unterstützt, sollte auch das DOM drinhaben – sollte). Und natürlich – ich bin Informatikstudent. Also: Programmieren, programmieren, programmieren. :D innerHTML ist für mich nichts weiter als eine Zeichenkette, die (wenn man Glück hat) valides HTML ist. Wohingegen mit dem DOM gar nichts anderes generiert werden kann. Und das find ich halt den grossen Vorteil.

Ausserdem hab ich gelesen, das DOM werde mittlerweile mindestens genausogut unterstützt wie CSS 2 – und das benutzt auch jeder.
 
Hab auch nicht gesagt, dass das DOM schlecht unterstützt wird, nur dass es teilweise etwas umständlich ist, wie z.B. die geschichte mit dem firstChild.data.

Das mit dem invaliden HTML ist für mich kein Argument, denn der User kann auch ohne innerHTML invalides HTML erzeugen - wenn man das Argument zählen lässt dann düfte man HTML überhaupt nurnoch mit dem DOM erzeugen lassen.
 
Zurück