Attila Stehr: datenempfang vom browser ohne das laden einer seite

Hallo,

ich entschuldige mich erstmal für die seltsame überschrift - was besseres ist mir nicht eingefallen.

Ich habe folgendes problem:
Eine seite enthält eine grafik. Als reaktion auf die auslösung eines events soll die position der grafik verändert werden. Die Position kann _nur_ serverseitig berechnet werden, da hier dafür notwendige Daten liegen.
Wie erhält meine document.getElementByName(einName).style.top den gewünschten wert?

Ich könnte zwar die anfrage mit hilfe eines formulars an den server schicken, zurück kommt aber in diesem falle immer eine html-seite (oder was anderes, das der browser sofort darstellt). Also wird bei einer änderung die darstellung komplett neu aufgebaut. Aber genau das soll doch mit DHTML verhindert werden.

Hab leider bei teamone nichts gefunden.
Kann doch nicht sein, dass DHTML voraussetzt, dass alle daten für eine änderung der objekte immer clientseitig vorhanden sind...

Attila Stehr

  1. Guten Morgen Attila,

    wenn Du JavaScript einsetzt, dann könntest Du ein "blindes Frame" als Ziel angeben. Dann wird ja nur das Frame neu aufgebaut und außerdem siehst Du es nicht. Mit onLoad() im body-Tag des Frames kannst Du aber die Daten sofort nach Eintreffen in die Hauptseite übertragen.

    Grüße

    Tom

    1. Nochmal ich,

      ich wollte Dich in diesem Zusammenhang auch noch auf [pref:t=35470&m=193580] hinweisen.

      Liebe Grüße aus http://www.braunschweig.de

      Tom

      --
      Intelligenz ist die Fähigkeit, aus Fehlern Anderer zu lernen und Mut die, eigene zu machen.
    2. Guten Morgen Attila,

      wenn Du JavaScript einsetzt, dann könntest Du ein "blindes Frame" als Ziel angeben. Dann wird ja nur das Frame neu aufgebaut und außerdem siehst Du es nicht. Mit onLoad() im body-Tag des Frames kannst Du aber die Daten sofort nach Eintreffen in die Hauptseite übertragen.

      Grüße

      Tom

      Hallo Tom,

      danke für die schnelle antwort!

      Die sache mit dem "blinden frame" scheint eine brauchbare - wenn auch nicht gerade schöne - lösung für mein problem zu sein. Mir ist allerdings noch nicht ganz klar, was ein blindes frame ist, und wie ich dieses so positioniere, dass sich die darstellung der elemente im browserfenster nicht ändert.

      Vielleicht sollte ich noch erwähnen, dass ich den browser als GUI für eine webapplikation nutze. Daher muss ich unter allen umständen erreichen, dass die darstellung stets einheitlich ist. Unter anderem darf nicht gescrollt werden (müssen). Die breite und höhe von elementen darf sich auch nicht ändern.

      Grüße,
      Attila

      1. Hallo nochmal,

        <frameset rows="100%,*">
          <frame src="applic.html name="applic">
          <frame src="blind.html name="blind">
        </frameset>

        Das untere Frame ist "blind", da es von 100%-100% nur den Rest (also meistens 0%) übrig behält. Bitte teste das mit verschiedenen Browsern, auf denen Deine Applikation laufen soll. Es könnte sein, dass da einer dabei ist, der keien 0% duldet. Aber dann könnte man immer noch eine schöne "Softkey-Leiste" unten am Bildschirmrand anbringen, und die wird dann eben immer neu geladen.

        Liebe Grüße aus http://www.braunschweig.de

        Tom

        --
        Intelligenz ist die Fähigkeit, aus Fehlern Anderer zu lernen und Mut die, eigene zu machen.
        1. <frameset rows="100%,*">
            <frame src="applic.html name="applic">
            <frame src="blind.html name="blind">
          </frameset>

          Bitte teste das mit verschiedenen Browsern, auf denen Deine Applikation laufen soll. Es könnte sein, dass da einer dabei ist, der keien 0% duldet. Aber dann könnte man immer noch eine schöne "Softkey-Leiste" unten am Bildschirmrand anbringen, und die wird dann eben immer neu geladen.

          Liebe Grüße aus http://www.braunschweig.de

          Tom

          Okay alles klar!

          Danke nochmal,
          liebe grüße aus Berlin ;-)
          ~ Attila

          ps:
          Da ja jeder browser die darstellung (von tabellen, buttons etc.) anders vornimmt, hat die projektleitung entschieden, für den IE zu programmieren. Ich hoffe ich werde nun nicht gedizzt :-\ - lasse mich aber gerne belehren, wie man eine einheitliche darstellung für alle browser hinbekommen kann - beispielsweise für der breite von buttons :-[

          1. Hi,

            Da ja jeder browser die darstellung (von tabellen, buttons etc.) anders vornimmt, hat die projektleitung entschieden, für den IE zu programmieren.

            ach. "Lieber gar nicht als geringfügig anders"? Herrje, manchmal frage ich mich, wie solchen Menschen _irgendeine_ Entscheidungsgewalt zugesprochen werden kann :-/

            lasse mich aber gerne belehren, wie man eine einheitliche darstellung für alle browser hinbekommen kann

            Das ist ganz einfach: Schau's Dir mit dem entsprechenden Browser an. Du wirst feststellen, dass es in diesem Browser einheitlich ist. Mit anderen brauchst Du nicht zu vergleichen, da es extrem selten ist, dass jemand zwei verschiedene Browser einsetzt - und dann auch noch gleichzeitig.

            Cheatah

            --
            X-Will-Answer-Email: No
            1. Hallo Cheatah,

              Das ist ganz einfach: Schau's Dir mit dem entsprechenden Browser an. Du wirst feststellen, dass es in diesem Browser einheitlich ist. Mit anderen brauchst Du nicht zu vergleichen, da es extrem selten ist, dass jemand zwei verschiedene Browser einsetzt - und dann auch noch gleichzeitig.

              *LoL*

              Einerseits stimme ich Dir hier ja zu, andererseits würde ich mir das Leben nicht ganz so einfach machen und wenigstens auch einen Browser berücksichtigen, der auch unter Linux läuft. Man weiß ja nie, was Billy the Gator noch so alles einfällt. Aber vielleicht gehört ihm Linux schon lange und wir wissen es nur noch nicht *?????*

              Ich habe mich das ganze Wochenende damit herumgeschlagen, für unser pCMS (public Content MS) die Richtung zu bestimmen ud  war z.B. total traurig, dass ich mich von iFrames und dem designMode trennen musste, da der nun absolut M$-proprietär ist. Da wir ja in unserem Projekt die Allgemeinheit einbinden und den Leuten _nicht_ vorschreiben können, welches OS und welchen Browser si benutzen sollen, müssen wir da schon ein wenig denken. Alleine der Fall, den Aquariophile da angestoßen hatte [pref:t=35421&m=193136] (diesmal habe ich das "my" rausgenommen) hat mich Nerven gekostet, da wir viel mit geschachtelten DIVS arbeiten und Opera damit ein echtes Problem hat.

              Liebe Grüße aus http://www.braunschweig.de

              Tom

              --
              Intelligenz ist die Fähigkeit, aus Fehlern Anderer zu lernen und Mut die, eigene zu machen.
            2. Hi,

              Da ja jeder browser die darstellung (von tabellen, buttons etc.) anders vornimmt, hat die projektleitung entschieden, für den IE zu programmieren.
              ach. "Lieber gar nicht als geringfügig anders"? Herrje, manchmal frage ich mich, wie solchen Menschen _irgendeine_ Entscheidungsgewalt zugesprochen werden kann :-/

              Wieso denn "gar nicht"?! Man kann sich die Seiten auf jedem browser anschauen, sieht aber ebend nur auf dem IE so aus, wie es soll.

              lasse mich aber gerne belehren, wie man eine einheitliche darstellung für alle browser hinbekommen kann
              Das ist ganz einfach: Schau's Dir mit dem entsprechenden Browser an. Du wirst feststellen, dass es in diesem Browser einheitlich ist. Mit anderen brauchst Du nicht zu vergleichen, da es extrem selten ist, dass jemand zwei verschiedene Browser einsetzt - und dann auch noch gleichzeitig.

              Das stimmt wahrscheinlich für die meisten user - aber nicht für alle (e.g. me).
              Wenn das ein joke war, finde ich den nicht lustig! Wie schon erwähnt wäre ich glücklicher, wenn ich so porgrammieren könnte, dass alle browser gleich darstellen.

              Tscho,
              Attila
              1. Hi Attila,

                Wie schon erwähnt wäre ich glücklicher, wenn ich so porgrammieren könnte, dass alle browser gleich darstellen.

                dann orientiere Dich an demjenigen Browser, der die geringste Fehlertoleranz hat.

                Viele Grüße
                      Michael

                --
                T'Pol: I apologize if I acted inappropriately.
                V'Lar: Not at all. In fact, your bluntness made me reconsider some of my positions. Much as it has now.
                1. Hi Attila,

                  Wie schon erwähnt wäre ich glücklicher, wenn ich so porgrammieren könnte, dass alle browser gleich darstellen.

                  dann orientiere Dich an demjenigen Browser, der die geringste Fehlertoleranz hat.

                  Viele Grüße
                        Michael

                  Hi Michael,

                  welcher wäre das denn? Konqueror, der bei jedem schei.. abstürzt oder Opera (ick hab 6.02), der viele beispiele von selfhtml nicht darstellen kann?

                  Grüße aus Berlin,
                  Attila

                  1. Nachtrag:
                    Es geht vor allem auch um die formatierung der elemente, und da macht halt jeder browser die HTML-elemente anders breit - zum beispiel die Buttons. Soweit ich das mitbekommen ist auch die darstellung der schrift unterschiedlich ...

                    Da die anwendung ziemlich viel "platz" braucht - im browserfenster ist ein betrachtungsfenster drin, in dem man rumzoomen kann und so weiter -  muss ich auch den ganzen bildschirm ausnutzen. Es wurde also festgelegt, dass die darstellung auf 800 x 600 im IE optimiert wird...
                    Nun kann man sich ja vorstellen, dass bei anderen browsern scrollbalken auftauchen, die absolut unerwünscht sind.

                    Was solls :-(