Tim: Welcher Doctype oder doch lieber Quirks Modus?

Hi zusammen,

Hab ne kleine Internetseite mit reichlich bösem Javascript Schnickschnack erstellt. Nein ich möchte darauf nicht verzichten. Die Seite funktioniert soweit auch wie gewünscht. Sobald ich jedoch

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
        "http://www.w3.org/TR/html4/strict.dtd">

einfüge funktionieren nur noch wenige meiner Javadcriptfunktionen. Nun habe ich beim Suchen festgestellt dass sogar einige Seiten von SelfHTML im Quirks Modus laufen. Ist das Weglassen einer Doctypes also weniger böse als das Verwenden von Tabellen zu Layoutzwecken?

;)

  1. Du solltest Dich lieber fragen: wo ist der Fehler in den JavaScript-Funktionen, dass diese nur im QuirksMode laufen. Ein solcher Fehler ist mir bisher noch nicht untergekommen und dürfte interessant zu begutachten sein. Was sagt denn die Fehlermeldung?

    Abgesehen davon: Tabellenlayouts sind nicht böse, sondern einfach nur unsemantisch und unnötig. Der QuirksMode hingegen ist eine Erfindung, die man in manchen Situationen gerne rückgängig gemacht hätte, zumindest sein Einschalten bei einer XML-Headerdeklaration...

    Gruß, LX

    --
    RFC 1925, Satz 6a: Es ist immer möglich, einen weiteren Umweg einzufügen.
    RFC 1925, Satz 11a: Siehe Regel 6a
    1. Hi,

      Du solltest Dich lieber fragen: wo ist der Fehler in den JavaScript-Funktionen, dass diese nur im QuirksMode laufen. Ein solcher Fehler ist mir bisher noch nicht untergekommen

      Häufige Fehlerursache bei Scripten, die Werte von CSS-Eigenschaften manipulieren, sind vergessene Längeneinheiten - werden im Quirksmode idR. automatisch zu px korrigiert.

      MfG ChrisB

      --
      “Whoever best describes the problem is the person most likely to solve the problem.” [Dan Roam]
      1. Hi,

        Häufige Fehlerursache bei Scripten, die Werte von CSS-Eigenschaften manipulieren, sind vergessene Längeneinheiten - werden im Quirksmode idR. automatisch zu px korrigiert.

        Danke für den Tip mit den Einheiten. Habe mein Script mal darauf hin überprüft, zwei Fehler behoben aber leider bleibt es ausser im Kompatibilitätsmodus immernoch an den Zeilen

        var laenge = parseInt(ladebalken.style.width);
                    var hoehe= parseInt(ladebalken.style.height);

        hängen. Ich möchte einfach nur die Breite und die Höhe des Bildes

        var ladebalken = document.getElementById(bilddatei);

        abfragen. Was mach ich falsch?

        LG

        1. Hallo,

          Hallo,

          abfragen. Was mach ich falsch?

          1. Du beantwortest Fragen nicht:

          Was sagt denn die Fehlermeldung?

          2. Du beschreibst den/die Fehler zu ungenau:

          Was bedeuetet "bleibt hängen" und woher weißt du, dass es an den genannten  Zeilen liegt? Etwa von der Fehlerkonsole?

          Was sagt denn die Fehlermeldung?

          Was sagen die alerts:

          alert(bilddatei);  
                         alert(ladebalken);  
          
          >             var laenge = parseInt(ladebalken.style.width);  
          
                         alert(laenge);  
          
          >             var hoehe= parseInt(ladebalken.style.height);  
          
                         alert(hoehe);  
          
          >   
          > //hängen. Ich möchte einfach nur die Breite und die Höhe des Bildes  
          >   
          >             var ladebalken = document.getElementById(bilddatei);  
          
                         alert(bilddatei);  
                         alert(ladebalken);  
          
          

          Gruß, Don P

          1. Hi,

            Was sagt denn die Fehlermeldung?

            Die Web Developer Symbolleiste im Firefox meldet keinen Javascript Fehler und auch keinen CSS Fehler.

            Was bedeuetet "bleibt hängen" und woher weißt du, dass es an den genannten  Zeilen liegt?

            Durch alerts zwischen den Zeilen konnte ich den Fehler wie von dir beschrieben eingrenzen. Hängen bleiben bedeutet

            alert(laenge); und alert(hoehe); bleiben NaN.

            Liebe Grüsse

        2. Hallo Tim,

          var laenge = parseInt(ladebalken.style.width);
                      var hoehe= parseInt(ladebalken.style.height);

          die Styleangaben kann man nur abfragen wenn sie explizit gesetzt wurden. Daher benutze ich zur Ermittlung der Größe von Elementen lieber offsetWidth und offsetHeight.

          Gruß, Jürgen

        3. Hi,

          zwei Fehler behoben aber leider bleibt es ausser im Kompatibilitätsmodus immernoch an den Zeilen

          var laenge = parseInt(ladebalken.style.width);
                      var hoehe= parseInt(ladebalken.style.height);

          hängen. Ich möchte einfach nur die Breite und die Höhe des Bildes

          var ladebalken = document.getElementById(bilddatei);

          abfragen. Was mach ich falsch?

          Du gehst über das style-Objekt, vermutlich ohne Style-Eigenschaften explizit gesetzt zu haben.

          Maße von Bildern kannst du direkt über deren Eigenschaften width und height abfragen; und bei anderen Elementen täten es offsetWidth/-Height.

          MfG ChrisB

          --
          “Whoever best describes the problem is the person most likely to solve the problem.” [Dan Roam]
          1. Moin,

            Du gehst über das style-Objekt, vermutlich ohne Style-Eigenschaften explizit gesetzt zu haben.

            Maße von Bildern kannst du direkt über deren Eigenschaften width und height abfragen; und bei anderen Elementen täten es offsetWidth/-Height.

            Danke für den Tip. Damit konntest du mein Problem lösen *freu*

            Liebe Grüsse

  2. einfüge funktionieren nur noch wenige meiner Javadcriptfunktionen. Nun habe ich beim Suchen festgestellt dass sogar einige Seiten von SelfHTML im Quirks Modus laufen.

    Welche?

    Struppi.