Helmut Schumacher: Hintergrund aus Image-Object

Wie kann ich ein Hintergrundbild einer Seite zuweisen, welche ich zuvor als Object geladen habe und zwar so: var backgrundimage = new Image() backgrundimage.src = "bild.jpg" Das Bild befindet sich in einer Datenbank, diese wird über eine ISAPI-dll angesprochen. Das Bild wird im Explorer öffter verwenden, daher möchte ich vermeiden, das jedes mal ein Zugriff auf den Server stattfindet. Also wie kann ich zum Beispiel im BODY-TAG das schon geladene IMAGE zuweisen.

Helmut

  1. Hi,

    Wie kann ich ein Hintergrundbild einer Seite zuweisen, welche ich
    zuvor als Object geladen habe und zwar so: var backgrundimage =
    new Image() backgrundimage.src = "bild.jpg"

    <script language="JavaScript">
    function hintergrund()
    {
    document.all.mybody.style.background = "url(" + backgrundimage.src + ")";
    }
    </script>
    <body onload="hintergrund();" id="mybody" name="mybody">
    </body>

    Das funzt zumindest unterm IE. Fuer den NN musst du das anders machen,
    da der NN keine Methoden zum BODY-Tag kennt. Ein Script fuer beide
    Browser saehe so aus:

    <script language="JavaScript">
    function hintergrund()
    {
    if (navigator.appName.indexOf("Microsoft") != -1)
      {
      document.all.mybody.style.background = "url(" + backgrundimage.src + ")";
      } else {
      document.mylayer.background.src = backgrundimage.src;
      }
    }
    </script>
    <body name="mybody" id="mybody">
    <layer name="mylayer" width="100%" height="100%">
      hier den Inhalt rein
    </layer>
    </body>

    mfg
    CK1

    1. »»  if (navigator.appName.indexOf("Microsoft") != -1)

      {
        document.all.mybody.style.background = "url(" + backgrundimage.src + ")";
        } else {
        document.mylayer.background.src = backgrundimage.src;
        }

      hi,

      die Browserafrage geht natuerlich noch effektiver: :-)

      if (document.all) // IE
      {
      bla
      }
      if (document.layers) // NN
      {
      bla
      }

      cua

      n.d.p.

      1. »»  if (navigator.appName.indexOf("Microsoft") != -1)

        {
          document.all.mybody.style.background = "url(" + backgrundimage.src + ")";
          } else {
          document.mylayer.background.src = backgrundimage.src;
          }

        hi,

        die Browserafrage geht natuerlich noch effektiver: :-)

        if (document.all) // IE
        {
        bla
        }
        if (document.layers) // NN
        {
        bla
        }

        cua

        n.d.p.

        Hallo CK1
        ich habe habe deinen Vorschlag ausprobiert.
        Es war schon einiges an Arbeit.
        Leider bringt dieser Vorschlag keine Verbesserung, es wird doch für jeden Frames das Hintergrundbild aus der Datenbank geladen. Ich glaube, weil eben nicht die Source der Grafik übergeben wird, sondern die URL des Objects die steht nämlich in Image.src. Ich müßte irgendwie die Grafik übergeben.  
        Hast du noch eine andere Id, oder kann mir sonst noch jemand helfen?

        Helmut

        1. es wird doch für jeden Frames das Hintergrundbild aus der Datenbank geladen. Ich glaube, weil eben nicht die Source der Grafik übergeben wird, sondern die URL des Objects die steht nämlich in Image.src. Ich müßte irgendwie die Grafik übergeben.

          hi, helmut

          es sollte eigentlich funktionieren mit deiner methode, wenn nicht, greift wahrscheinlich wieder der IE-Cache-Bug (siehe auch irgendwo im archiv :-) )
          benutzt du evtl. den IE5?

          cua

          n.d.p.

          p.s.: ich habe mich eine weile auch gruendlich mit sowas aehnlichem rumgeschlagen...und es dann aufgegeben, den IE zu ueberlisten <g>

          1. es wird doch für jeden Frames das Hintergrundbild aus der Datenbank geladen. Ich glaube, weil eben nicht die Source der Grafik übergeben wird, sondern die URL des Objects die steht nämlich in Image.src. Ich müßte irgendwie die Grafik übergeben.

            hi, helmut

            es sollte eigentlich funktionieren mit deiner methode, wenn nicht, greift wahrscheinlich wieder der IE-Cache-Bug (siehe auch irgendwo im archiv :-) )
            benutzt du evtl. den IE5?

            cua

            n.d.p.

            p.s.: ich habe mich eine weile auch gruendlich mit sowas aehnlichem rumgeschlagen...und es dann aufgegeben, den IE zu ueberlisten <g>

            Hallo
            ich benutze IE4 + SP1a