Christian Kramer: Alternativer Code wenn JS deaktiviert ist???

Hallo zusammen, ich bin neu hier

Ich habe ein kleines Skript geschrieben um die
Tablehöhe auf die aktuelle Fenstergröße anzupassen:

<script language="javascript">
<!--
 Hei = document.body.clientHeight - 180;
 if(Hei < 500) Hei = 500;
 document.write("<td height=" + Hei );
//-->
</script>
....

Was passiert wenn Javascript NICHT aktiviert ist kann
man sich vorstellen - da krachts.

Kann man irgendwie alternativen in den Code einbauen?
d.h. wenn kein Javaskript dann eine Heigth von 500...

Wäre für einen Tip sehr dankbar!
Gruß
Chris

  1. hallo,

    <script language="javascript">

    Das ist schonmal falsch  -  oder zumindest nicht ausreichend.

    Was passiert wenn Javascript NICHT aktiviert ist kann
    man sich vorstellen - da krachts.

    I wo. Was soll schon krachen? Dein ohnehin fehlerhafter Code wird halt nicht ausgeführt, sondern der Rest des in deinem online-Dokmument verfügbaren Inhalts wird verarbeitet. Es kann nur dann "krachen", wenn dieser "Rest" ebenfalls fehlerhaft ist.

    Kann man irgendwie alternativen in den Code einbauen?
    d.h. wenn kein Javaskript dann eine Heigth von 500...

    Warum willst du sowas tun? Ich ziehe mein Browserfenster zum Beispiel auf eine Größe, bei der die Höhe unter deinen ominösen 500 Pixel liegt. Ich wills ja auch auf meinem alten 14-Zoll-Monitor noch alles einigermaßen lesbar anschauen können und nicht ständig nach rinks und lechts scrollen müssen.

    Grüße aus Berlin

    Christoph S.

    1. Hi,

      <script language="javascript">
      Das ist schonmal falsch  -  oder zumindest nicht ausreichend.

      Falsch ist es (falls "falsch" überhaupt der passende Begriff ist), ausreichend ist es allemal. Und "eigentlich" sogar überflüssig.

      I wo. Was soll schon krachen?

      Ausgabe von TD vs. kein TD?

      Warum willst du sowas tun? Ich ziehe mein Browserfenster zum Beispiel auf eine Größe, bei der die Höhe unter deinen ominösen 500 Pixel liegt. Ich wills ja auch auf meinem alten 14-Zoll-Monitor noch alles einigermaßen lesbar anschauen können und nicht ständig nach rinks und lechts scrollen müssen.

      Wen interessiert das? Das man ein Dokument bei kleinen Fenstergrößen vertikal scrollt (nicht horizontal, wie Du irrigerweise schreibst), ist so unüblich nun nicht. =8-)

      Gruß, Cybaer

      PS: Was natürlich trotzdem nichts am fehlerhaften HTML- und "unsauberen" JS-Code ändert.

      --
      Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!
      1. Fehlerhaft ist relativ - Es Funktioniert momentan - Ich bin Freizeithonk - Und es klappt ja im Prinzip ;)

        Den JS Code habe ich in eine Funktion gezogen - das klappt soweit recht gut. Dann werfe ich mal einen Blick auf dieses Ominöse Dynamische HTML. Ob das meine HP nach vorne bringt glaube ich kaum :)

        Chris

        1. Hi,

          Es Funktioniert momentan - Ich bin Freizeithonk - Und es klappt ja im Prinzip ;)

          Komisches Prinzip. =:-o

          Tip: Seiten mit Mozilla entwickeln und dabei die äußerst hilfreiche JavaScript-Konsole im Blick halten. :-)

          Den JS Code habe ich in eine Funktion gezogen - das klappt soweit recht gut.

          Ob der gepostete Code in einer Funktion ist oder nicht, hat keinerlei Relevanz.

          Ob das meine HP nach vorne bringt glaube ich kaum :)

          Wenn Du nicht glaubst, was man Dir hier sagt, solltest Du hier einfach nicht posten - oder es wenigstens dazuschreiben, damit wir uns die Mühe des Postens sparen können! >:->

          Gruß, Cybaer

          --
          Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!
          1. Naja, das es nicht das gelbe vom Ei ist weiß ich doch - ich fand die Reaktionen nur etwas heftig (Jehova, Jehova!!!). Etwas konstruktivere Kritik wäre für Honks wie mich schön.

            Ob das meine HP nach vorne bringt glaube ich kaum :)

            war auf DHTML bezogen.

            Ich bin mit C, C++, Java, PHP und Objektorientierter Programmierung im allgemeinen vertraut. Soll ich nun mit Atombomben auf Spatzen schießen? Homepages habe ich noch keine gebaut - nun isses so weit und ich fange bei SelfHTML an =) Und es soll erstmal gaaaanz einfach werden =) und ein bisschen dynamisch...

            CosmoK

            1. Hi,

              Naja, das es nicht das gelbe vom Ei ist weiß ich doch - ich fand die Reaktionen nur etwas heftig (Jehova, Jehova!!!).

              Meinst Du mich (wenn ja, was)? Oder Christoph (der ist hier dafür schon berühmt/berüchtigt - nix bei denken/einfach ignorieren)? >;->

              Ob das meine HP nach vorne bringt glaube ich kaum :)
              war auf DHTML bezogen.

              Ja, das war mir klar.

              Und es würde sie ja auch weiterbringen (zumindest wenn man das als Maßstab nimmt, was Du vorhattest und nicht nach dem Sinn und Layoutalternativen fragt ;-)).

              Und es soll erstmal gaaaanz einfach werden =) und ein bisschen dynamisch...

              Dann schmeiß mal deine Logikmaschine AKA Hirn an! ;-)

              <td height="500"> wird von jedem Browser ausgeführt, egal ob JS oder nicht, egal wie hoch das Browswerfenster ist. Kommt jetzt anschließend gleich das Script (ja, *da* darf es dann stehen), dann kann das Script mittels setAttribute die 500 nach Belieben umändern.

              Das ist logisch und vielleicht auch (noch) konstruktiver ... ;)

              Und wie man die Dokumentenhöhe browserübergreifend ermittelt, findest Du u.a. in Coding: Systemvariable

              Und wenn Du schon auf meiner Coding-Site bist ;), dann kannst ja mal gleich noch bei der Coding: Linkliste vorbeischauen. Insbesondere die dort verlinkten Online-Validatoren, bzw. der HTML-Editor mit integriertem Validator, sollten Dir als HTML-Anfänger bei den gröbsten Schnitzern behilflich sein.

              Sauberes JavaScript bringen sie Dir allerdings auch nicht bei. Da hilft nur üben ...

              ... und testen - auch mit älteren Browsern.

              Gruß, Cybaer

              --
              Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!
              1. Danke für die Links!!! Saubere Programmierung sollte ich allerdings beherrschen :)

                Das mit der Width habe ich ausgebessert. Ich hab auch eine JS Funktion im Netzt gefunden das die Höhe abhängig vom Browser ausliest d.h. bei IE, Opera, Netscape funktionierts schon mal...

                Danke auf jeden Fall!!!
                Gruß
                Chris

  2. Hi,

    Hei = document.body.clientHeight - 180;

    Was passiert wenn Javascript document.body.clientHeight gar nicht beherrscht?

    document.write("<td height=" + Hei );

    Dies bedeutet, daß dein SCRIPT dort steht, wo es gar nicht stehen darf.

    man sich vorstellen - da krachts.

    Wenn nicht schon eher.

    Kann man irgendwie alternativen in den Code einbauen?

    1. Grundlegend neues Konzept erstellen.
    2. Alternativ gibt es NOSCRIPT.

    d.h. wenn kein Javaskript dann eine Heigth von 500...
    Wäre für einen Tip sehr dankbar!

    Nachträgliche Änderungen am HTML-Code, also "DHTML" gehen anders. Schaue mal nach getElementById, innerHTML & setAttribute. :-)

    Gruß, Cybaer

    --
    Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!
    1. Hallo,

      Kann man irgendwie alternativen in den Code einbauen?

      1. Grundlegend neues Konzept erstellen.
      2. Alternativ gibt es NOSCRIPT.

      3. Alternativ zu SCRIPT und NOSCRIPT gibt es CSS

      Gruß aus Berlin!
      eddi

      --
      POST SCRIPTA SIND UNÜBERLEGTE HANDLUNGEN IM KONTEXT EINES HTML-FORMULARS!
      1. Hi,

        3. Alternativ zu SCRIPT und NOSCRIPT gibt es CSS

        nur mal so zum Verstaendnis, was hast Du damit gemeint?

        Gruss,
        Ludger

        1. Hi,

          nur mal so zum Verstaendnis, was hast Du damit gemeint?

          CSS erlaubt, anders als HTML, auch prozentuale Höhenangaben. Man könnte also auch näherungsweise schreiben "height:85%;" ...

          ... ohne dabei identische Funktionalität zu erreichen - zumal angesichts des IE-Unvermögens bei min-height. Aber lassen wir Xarax seine Illusion ... >;-)

          Gruß, Cybaer

          --
          Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!
          1. CSS erlaubt, anders als HTML, auch prozentuale Höhenangaben. Man könnte also auch näherungsweise schreiben "height:85%;" ...

            wieso erlaubt HTML keine prozentualen Höhenangaben?

            ... ohne dabei identische Funktionalität zu erreichen - zumal angesichts des IE-Unvermögens bei min-height. Aber lassen wir Xarax seine Illusion ... >;-)

            wieso Illusion und was hat min-height damit zu tun?
            Gerade was solche Angaben angeht ist der IE gutmütiger als andere Browser und zeigt z.b. 100% Höhe auch an, weil er wie die meisten die sowas benutzen davon ausgeht, dass das Browserfenster gleichzeitig das Dokument ist. (zumimndest im Quirks Mode)

            Struppi.

            1. Hi,

              wieso erlaubt HTML keine prozentualen Höhenangaben?

              Oops, natürlich tut das HTML. =:)

              wieso Illusion und was hat min-height damit zu tun?

              Zitat: if(Hei < 500) Hei = 500;

              Also ein height:85%; (oder so, ungefähr, pi mal Daumen oder auch nicht) + ein min-height:500px; (na, wenigstens das ist exakt - und funktioniert leider nicht im absoluten Mehrheitsbrowser).

              Aber: Man könnte u.U. vielleicht ein 500 Pixel hohes Blind-GIF an den linken oder rechten Rand der Zelle klatschen. Wenn man damit (und der "pi mal Daumen"-Angabe zufrieden ist. ;->

              Gerade was solche Angaben angeht ist der IE gutmütiger als andere Browser und zeigt z.b. 100% Höhe auch an, weil er wie die meisten die sowas benutzen davon ausgeht, dass das Browserfenster gleichzeitig das Dokument ist. (zumimndest im Quirks Mode)

              Die Prozent beziehen sich nicht auf den Parent (z.b. eine übergeordnete Tabelle), sondern auf das Browserfenster?

              Gruß, Cybaer

              --
              Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!
              1. Gerade was solche Angaben angeht ist der IE gutmütiger als andere Browser und zeigt z.b. 100% Höhe auch an, weil er wie die meisten die sowas benutzen davon ausgeht, dass das Browserfenster gleichzeitig das Dokument ist. (zumimndest im Quirks Mode)

                Die Prozent beziehen sich nicht auf den Parent (z.b. eine übergeordnete Tabelle), sondern auf das Browserfenster?

                Nein, aber in HTML auch nicht. Wenn du in einer Tabelle die 50% der Fensterbreite annehmen soll eine 2. einbaust mit 100% ist diese auch nur 50% des Fenster.

                Aber 100% height ist in CSS 100% der Dokumenten höhe (innerhalb von body) und dieses ist so hoch wie der Inhalt und nicht wie das browserfenster.

                Struppi.

                1. Hi,

                  Nein, aber in HTML auch nicht.

                  Wäre ja wohl sonst auch sehr merkwürdig. :)

                  Aber 100% height ist in CSS 100% der Dokumenten höhe (innerhalb von body) und dieses ist so hoch wie der Inhalt und nicht wie das browserfenster.

                  Da BODY ohnehin kein Attribut HEIGHT besitzt (weder offiziell noch proprietär), ist das doch wohl eine wertfreie Feststellung, oder? ;-)

                  Gruß, Cybaer

                  --
                  Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!
                  1. Aber 100% height ist in CSS 100% der Dokumenten höhe (innerhalb von body) und dieses ist so hoch wie der Inhalt und nicht wie das browserfenster.

                    Da BODY ohnehin kein Attribut HEIGHT besitzt (weder offiziell noch proprietär), ist das doch wohl eine wertfreie Feststellung, oder? ;-)

                    Kein HTML Atribut, aber du kannst sowohl dem BODY, als auch dem HTML Element mit CSS eine Höhe zuweisen.

                    Struppi.

                    1. Hi,

                      Kein HTML Atribut,

                      Eben deswegen ist der Vergleich mit CSS hier doch wohl sehr wertfrei.

                      Gruß, Cybaer

                      --
                      Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!
                      1. Kein HTML Atribut,

                        Eben deswegen ist der Vergleich mit CSS hier doch wohl sehr wertfrei.

                        Welcher Vergleich?
                        Es ging doch um die alternative https://forum.selfhtml.org/?t=97562&m=593928

                        100% - ?px läßt sich auch mit CSS ohne Probleme umsetzen, wenn man margin geschickt einsetzt.

                        Struppi.

                        1. Hi,

                          Welcher Vergleich?

                          https://forum.selfhtml.org/?t=97562&m=594053

                          100% - ?px läßt sich auch mit CSS ohne Probleme umsetzen, wenn man margin geschickt einsetzt.

                          Tja, ist eben die Frage, wie man ohne Scripting an das "?" kommt, oder?

                          Gruß, Cybaer

                          --
                          Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!
        2. Gesundes Neues Ludger,

          gerade beim durchblättern meiner Beiträge, ist mir aufgefallen, daß ich Deine Frage völlig außer Acht gelassen habe. Des weiteren möchte ich Dir mein Kopmliment übermitteln: Du zeigst mit Deiner voruteilslosen Frage erhebliche Größe.

          3. Alternativ zu SCRIPT und NOSCRIPT gibt es CSS

          nur mal so zum Verstaendnis, was hast Du damit gemeint?

          Auf die Aussage von Cybaer hin, der ein grundlegend neues Konzept zum Aufbau mittels JavaScript und deren Alternative eines <noscript>-Bereiches vorschlägt, bin ich durch den Problemvortrag von Christian nicht davon überzeugt, daß hier JavaScript überhaupt zum Einsatz kommen muß. Also bitte ich meinen angefügten Punkt 3. als Alternative zu 1. und 2. aufzufassen.

          Zur Umsetzung bedarf es weder des min-height noch irgendeiner height-Angabe speziell für das Element <td>:

          html,body {margin:0;padding:0;height:100%;width:100%}
          table     {height:100%;width:100%}
          thead     {height:30px}

          Gruß aus Berlin!
          eddi

          1. Hi,

            Auf die Aussage von Cybaer hin, der ein grundlegend neues Konzept zum Aufbau mittels JavaScript und deren Alternative eines <noscript>-Bereiches vorschlägt,

            Oh, das hast Du dann aber grundlegend falsch verstanden! =:-o

            html,body {margin:0;padding:0;height:100%;width:100%}
            table     {height:100%;width:100%}
            thead     {height:30px}

            ? Hier sehe ich eine "full Viewport"-Tabelle mit einem Head von 30 Pixeln Höhe. Im Ausgangsposting war aber von einer Tabellenzelle mit einer Höhe von "Viewport - 180 Pixel", mindestens aber 500 Pixel.

            Ich hoffe, ich bin nicht der Einzige, der sieht, daß das unterschiedliche Ergebnisse (ja sogar unterschiedliche Aufgabenstellungen) sind. =:->

            Gruß, Cybaer

            --
            Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!
            1. Hallo Cybaer,

              html,body {margin:0;padding:0;height:100%;width:100%}
              table     {height:100%;width:100%}
              thead     {height:30px}

              ? Hier sehe ich eine "full Viewport"-Tabelle mit einem Head von 30 Pixeln Höhe. Im Ausgangsposting war aber von einer Tabellenzelle mit einer Höhe von "Viewport - 180 Pixel", mindestens aber 500 Pixel.

              Ich hoffe, ich bin nicht der Einzige, der sieht, daß das unterschiedliche Ergebnisse (ja sogar unterschiedliche Aufgabenstellungen) sind. =:->

              Ich zitiere aus dem Ausgangsposting: "Ich habe ein kleines Skript geschrieben um die Tablehöhe auf die aktuelle Fenstergröße anzupassen"
              Daher ist zu vermuten, das sich die 180px auf Fensterleist + Menüleiste + Adressleiste + Statusleiste + Taskleiste [ + andere Leisten] beziehen, da, so Du Dich bitte noch mal vergewissern willst und mir auf die Sprünge mit einem Zitat helfen willst, die Problembeschreibung keine Angaben zu mehreren Zellen macht, ist dies nur ein Beispiel...

              Gruß aus Berlin!
              eddi

              1. Hi,

                Ich zitiere aus dem Ausgangsposting:

                Hmm, ich bitte um Verzeihung! Bei genauer Betrachtung dürftest Du in der Tat Recht haben. =:-o

                Vermutlich hat deswegen auch die TD die Höhe und nicht die TABLE, weil es dort nicht erlaubt ist (was somit der einzig einigermaßen sinnergebende und korrekte Teil im Listing war). :)

                @Christian: Falls Du noch mitliest: Es wäre noch mehr zu "verbessern". ;-) Insbesondere spielt die Fenstergröße keine Rolle (zumal man sie beim IE nicht ermitteln kann), sondern nur der Fensterinnenraum.

                Gruß, Cybaer

                --
                Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!
  3. Hallo,

    wenn es nur darum geht, eine Tabelle an die Fenstergröße anzupassen, versuch mal:
    <table style="width:100%; height:100%">
    Wenn der Inhalt "größer" als das Fenster ist, wächst die Tabelle mit.

    Gruß, Jürgen