Maik Fraatz: JavaScript vars direkt an HTML übergeben???

Ist es möglich JavaScript variablen direkt an das HTML dokument zu übergeben??
Also ich kenne es bisher so, dass man innerhalb des <script>-bereich bspw. eine funktion schreibt in der man variablen deklariert und auch hier anwendet und die funktion dann im <body> ausführt.

Nun möchte ich die vars ohne funktions aufruf direkt an html objekte übergeben. ist das möglich???

Beispiel:

<img src="..." width="'+bW+'" height="'+bH+'"></img>

die variblen bW und bH wurden in diesen fall im <script>-bereich im header gesetzt und beschrieben. nun soll die funktion aber nicht aufgerufen werden, sondern die variablen direkt übergeben werden, wie oben gezeigt.

Gruß
Maik

  1. hallo,

    Ist es möglich JavaScript variablen direkt an das HTML dokument zu übergeben?

    Nein.

    Grüße aus Berlin

    Christoph S.

    --
    Visitenkarte
    ss:| zu:) ls:& fo:) va:) sh:| rl:|
    1. hallo,

      Ist es möglich JavaScript variablen direkt an das HTML dokument zu übergeben?

      Nein.

      Das war ja einfach. ;-)

      Dann mal anders gefragt. Ich habe eine navi tabelle mit all den schönen buttons und möchte diese dynamisch anpassen, indem ich höhe und breite der buttons und die position mit formeln in abhängigkeit der framehöhe und -breite errechne und mit diesen werten anzeigen lasse. Das hat bisher auch immer sehr gut geklappt. Ich lasse die Objekte, also bspw. einfach innerhalb der function mit document.write ins dokument schreiben. Der Banner ist auf diese Weise auch schon dynamisch angepasst und sieht alles wunderbar aus.

      Nun zurück zu meiner navi. die navi ist in einer einspaltigen, 11-zeiligen tabelle angelegt und mit einer ebene (<div>) eingefasst, um das ganze ding besser positionieren zu können.

      Hab alles so gemacht wie bisher und auch keinen fehler gefunden. ich vermute dass document.write nicht mit menge der ausgabe parameter zurechtkommt, denn eine solche tabelle ist mit den all den <img>, <a href...> und alles für jeden einzelnen button sehr umfangreich vom quellcode her. Kann document.write nur eine begrenzte menge an infos verarbeiten?

      Und wenn ja, wie kann das Problem lösen?

      Gruß
      Maik

      1. hallo,

        Dann mal anders gefragt. Ich habe eine navi tabelle mit all den schönen buttons und möchte diese dynamisch anpassen, indem ich höhe und breite der buttons und die position mit formeln in abhängigkeit der framehöhe und -breite errechne

        Da geht schon einiges durcheinander. Eine Navigation gehört nicht in eine Tabelle, da Tebellen nichts mit Navigation zu tun haben. Und dann hast du auch noch einen Frame - wo kommt der denn plötzlich her?

        Ich lasse die Objekte, also bspw. einfach innerhalb der function mit document.write ins dokument schreiben.

        Mit dem Effekt, daß bei denen, die Javascript erlaubt haben, das gesamte Dokument überschrieben wird. Und was bietest du denen, die Javascript abgeschaltet haben, als Alternative an?

        Der Banner ist auf diese Weise auch schon dynamisch angepasst

        Was für ein Banner? Was hat sowas mit Navigation, Tabellen und Frames zu tun?

        Nun zurück zu meiner navi. die navi ist in einer einspaltigen, 11-zeiligen tabelle angelegt und mit einer ebene (<div>) eingefasst

        Dann ist das falsch. Wenn du elf Navigationspunkte bzw. -einträge brauchst, nimmst du dafür eine Liste. Die kannst du in einen DIV packen, wenns denn unbedingt sein muß. Mit einer Tabelle hat das immer noch nichts zu tun.

        um das ganze ding besser positionieren zu können.

        Genau: für die Positionierung deines DIV nimmst du CSS. Wie sieht das in deinem Fall bisher aus?

        eine solche tabelle ist mit den all den <img>, <a href...> und alles für jeden einzelnen button sehr umfangreich vom quellcode her.

        Genau deswegen ist eine Tabelle als Layoutmittel völlig ungeeignet.

        Kann document.write nur eine begrenzte menge an infos verarbeiten?

        Nein. Das "verarbeitet" alles, was du ihm aufträgst.

        Und wenn ja, wie kann das Problem lösen?

        Da deine "wenn ja"-Bedingung nicht zutrifft, muß ein "wenm nein"-Fall vorausgesetzt werden - auch wenns logisch nicht korrekt ist. Laß da mit Javascript einfach sein und benutze stattdessen eine CSS-Navigation.

        Grüße aus Berlin

        Christoph S.

        --
        Visitenkarte
        ss:| zu:) ls:& fo:) va:) sh:| rl:|
        1. hallo,

          Dann mal anders gefragt. Ich habe eine navi tabelle mit all den schönen buttons und möchte diese dynamisch anpassen, indem ich höhe und breite der buttons und die position mit formeln in abhängigkeit der framehöhe und -breite errechne

          Da geht schon einiges durcheinander. Eine Navigation gehört nicht in eine Tabelle, da Tebellen nichts mit Navigation zu tun haben. Und dann hast du auch noch einen Frame - wo kommt der denn plötzlich her?

          Die Tabelle kommt von dreamweaver. Da gibts doch die funktion "Navigationsleiste" da gibt man einfach seine menüpunkte an, dann noch die button-cliparts und den link und klickt auf ok und dreamweaver zaubert einem eine schicke tabelle.

          Kann document.write nur eine begrenzte menge an infos verarbeiten?

          Nein. Das "verarbeitet" alles, was du ihm aufträgst.

          Dann wundert es mich, dass der tabellencode abgeschnitten und in mehrere unnummerierte zeilen gepackt wird. außerdem ist der gesamte tabellencode kursiv (inaktiv) als hätte man es als kommentar gesetzt.

          Gruß
          Maik

          1. hallo,

            Die Tabelle kommt von dreamweaver.

            Ups. Es kommt immer wieder vor, daß jemand mit Dreamweaver oder einem anderen "Editor" sich Navigationen und ähnliches erstellen läßt und sich dann wundert, was das Forum für unbrauchbare Ratschläge bereithält.

            Ich kann dir nur eins sagen: wenn du dich vor solche Fragen gestellt siehst, wie es offenbar der Fall ist - verzichte vollständig auf Dreamweaver. Was der genau macht, ist mir zwar auch nicht in jedem Fall bekannt, aber er produziert Quellcode, der fast immer sehr fragwürdig bleibt. Du bist genau an die Grenzen gestoßen, die du bei Benutzung dieses Editors eben nicht überschreiten kannst.

            Grüße aus Berlin

            Christoph S.

            --
            Visitenkarte
            ss:| zu:) ls:& fo:) va:) sh:| rl:|
  2. Hi Maik!

    Beispiel:

    <img src="..." width="'+bW+'" height="'+bH+'"></img>

    die variblen bW und bH wurden in diesen fall im <script>-bereich im header gesetzt und beschrieben. nun soll die funktion aber nicht aufgerufen werden, sondern die variablen direkt übergeben werden, wie oben gezeigt.

    Je nach verwendetem Doctype wäre das zwar möglich (bspw. per document.write), aber was passiert, wenn ein User Javascript deaktiviert hat oder ein nicht Javascript fähiges Endgerät benutzt?

    Ich nehme an, dass du die Images in Abhängigkeit der jeweiligen Viewportgröße des Clients skalieren möchtest?

    Meines Wissens nach, gibt es dafür z.Z. (noch) keine befriedigende Lösung. Denn die Skalierfähigkeiten der Browser sind doch recht dürftig.

    Meine Empfehlung ist:
    Ganz "normal" die Standardgröße des Images im HTML Code angeben, und wenn überhaupt dann die Größe des Images per Javascript (quasi nachträglich) anpassen.

    Es gibt auch noch eine Reihe anderer Ansätze für das Problem.
    Man kann z.B. auch mit der CSS-Eigenschaft clip den Anzeigebereich für ein Bild auf eine bestimmte (relative) Größe einschränken und/ oder die Eigenschaften min/max height/width verwenden.

    Gruß Gunther