Ivonne: Dynamisch erzeugtes Bild merken

Hallo ihr Wissenden,

ich habe eine Maske für verschiedene Projekte entworfen. In dieser wird jeweils eine andere Karte (Bild) bereitgestellt, in der der Nutzer unter anderem zoomen kann. Damit er aber den Überblick behalten kann, möchte ich eine sogenannte Übersichtskarte mit in die Seite aufnehmen.
Also links oben: Übersichtskarte (relativ klein)
rechts unten : Karte zum Zoomen (recht groß)

Da die Bilder aber vom Server dynamisch beim seitenaufbau erstellt werden und nach jedem Zoomen, Verschieben, etc. sich verändern. Suche ich eine Möglichkeit, wie ich beim start der Seite das erste angezeigte Bild speichere und als Bild für die Übersichtskarte verwende.

Kann mir da jemand weiterhelfen???

MfG. Ivonne

  1. Hi,

    Kann mir da jemand weiterhelfen???

    HTML? No way!

    Du benötigst PHP (oder eine andere Server-seitige Sprache). Da ist es aber sehr einfach: Daten anfordern, abspeichern, wenn abgespeicherte Datei existiert, selbige einbinden.

    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. hi,

      wenn du weißt das wievielste bild deine karte in deiner page ist kannst du es mit JS abfragen.
      in diesem fall wird der pfad des ersten bildes in der var karte1 gespeichert.

      damit müßtest du dann ein Image() objekt erstellen

      var pic=new Image();
      pic.src=karte1;

      <script language="JavaScript" type="text/javascript">
      <!--
      function firstPIC()
       {
       var karte1=document.getElementsByTagName('img')[0].src;
       alert(karte1);
       }
      -->
      </script>

      <BODY onload="firstPIC();">

      1. Hallo joM,

        der Weg klingt leichter und vor allem vielversprechend. Das Problem ist nur, dass ich keine ahnung habe, wie ich die Nummer des Bildes herausbekomme. Ich habe mehrere Bilder in der Seite.
        Siehst du da eine Möglichkeit das Problem zu lösen.

        MfG. Ivonne

        1. Kannst du es nicht einfach zählen, oder ändert die position deines bildes immer ?

          gruß
          jOm

          1. Kannst du es nicht einfach zählen, oder ändert die position deines bildes immer

            vielleicht wäre  document.images['name'] geschickter.
            ODER: evtl. sind die ganzenIMGs ja in einem DIV oder sonst einem gemeinsamen Kontainer. Diesem eine ID geben und von disem aus die darin enthaltenen IMGs nach deinem Schema auslesen, das reduziert jedenfalls mal die Zahl der Bilder:

            <div id="karten">
            <img ..>
            <img ..>
            <img ..>
            </div>

            var kartenPool = document.getElementById("karten")
            var bilder = kartenPool.getElementsByTagName("IMG");

            CirTap

            1. Oder noch einfacher im Bidler selber, welches ja dynamisch generiert wird, eine id mit schicken.

              BSP:

              <img src="???" id="karte">

              var karte1=document.getElementById('karte').src;

              müßte so gehn

              1. Hallo,
                ich habe auf Grund mangelnder Kenntnisse einige Probleme.
                Daher gehe ich jetzt mal Schritt für Schritt vor....
                Zuerst habe ich es wie von dir beschrieben mit

                var pic=new Image();
                pic.src=karte1;

                function firstPIC()
                 {
                 var karte1=document.getElementsByTagName('img')[23].src;
                 alert(karte1);

                ausprobiert. Da erhielt ich den entsprechenden Bildnamen.

                Dann habe ich folgendes eingetragen:

                function firstPIC(){

                var karte1=document.getElementsByTagName('img')[23].src;
                 var karte1=document.getElementById('gesamtansicht').src;
                 }

                gesamtansicht ist der name des Bildes wo es am Ende auftauchen soll.
                Dann kommt die fehlermeldung:
                karte1 ist nicht definiert.

                Was mach ich falsch???

                1. Schon wieder ein Sorry, aber war mein Fehler. Die Bildübergabe klappt richtig gut. Leider zu gut, da bei jedem Zoomen ein neuer Bildaufbau erfolgt und damit ein neues Bild erstellt wird und mein schwer erkämpftes Bild geht dabei verloren.

                  1. ruf du denn jedes mal eine neue seite auf, oder änderst du die bidler dynamisch?

          2. »Hallo,

            sorry bin aber nach dem posten selber drauf gekommen.
            Wie bringe ich das jetzt an seinen Platz in meiner Seite???

        2. Hi,

          der Weg klingt leichter und vor allem vielversprechend. Das Problem ist nur, dass ich keine ahnung habe, wie ich die Nummer des Bildes herausbekomme. Ich habe mehrere Bilder in der Seite.
          Siehst du da eine Möglichkeit das Problem zu lösen.

          Mit Rätselraten ist leider schlecht Tips geben!<img src="http://www.vampirehost.de/pzn/texte/img/seher.gif" border="0" alt="">

          Ein URL und/oder Quelltext wären (für Dich) hilfreich. ;-)

          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. Hi,

        wenn du weißt das wievielste bild deine karte in deiner page ist kannst du es mit JS abfragen.

        abgesehen vom Umstand, daß nicht ich das Problem habe ;-), würde ich ...

        var karte1=document.getElementsByTagName('img')[0].src;

        ... Grafiken nicht mit DOM Level 2 ansprechen, sondern mit "DOM Leel 0" (na ja, ich mache es stets so, da DOM Level 0 ab JS 1.1 existiert, DOM Level 2 aber erst ab JS 1.5).

        <BODY onload="firstPIC();">

        Und ich würde den Aufruf direkt hinter den betreffenden IMG-Tag hängen, um überflüssige Latenzen zu vermeiden.

        Davon abgesehen, kann man einen bekannten URL nebst IMG-Tag auch per document.write ins HTML-Dokument schreiben - wenn man sich denn von JS abhängig machen möchte (oder muß - was bei einem Server der On-the-fly-Grafiken generiert wohl kaum der Fall sein dürfte ;-)).

        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. Hallo du Fragende,

    Da die Bilder aber vom Server dynamisch beim seitenaufbau erstellt werden und nach jedem Zoomen, Verschieben, etc. sich verändern. Suche ich eine Möglichkeit, wie ich beim start der Seite das erste angezeigte Bild speichere und als Bild für die Übersichtskarte verwende.

    Kann mir da jemand weiterhelfen???

    entweder speicherst du Namen/ID des bildes/der Karte als Cookie vom Server aus und fragst das dann beim Neuladen jeweils ab, oder führst es als Abfrageparameter in der URL, welche den Serverskript aufruft.
    Falls da ein FORMular im Spiel ist, dann kann diese Kennung dort auch als <input type="hidden" name="startbild" ... /> drinstehen.
    Käme jetzt also drauf an wie das Zoom/Verschieb-Skript aufgerufen wird. Bei einem wiederholten GET-Aufruf der Seite (<form method="get" ..> oder jedes gewöhnliche <a ..>) bzw. mit JS-seitigem location.href-Gefummle kannst du falls nötig die Info auch clientseitig per JS aus location.query wieder herausfummeln.

    Viel Spaß,
    CirTap