Horst Henkler: History springt nicht auf die vorhergehende Seite

Hi,

ich schalte auf meiner Webseite 3 Frames gleichzeitig mittels dem beruehmten Javascript zwei Seiten aus dem Selfhtml um. Wenn ich nun beim IE 5 , auf Zurueck klicke, komme ich nicht dahin zurueck wo ich hergekommen bin, sondern halt nur eine von den Teilseiten.

Kennt jemand einen Weg wie ich dieses Problem umgehen kann ?

Viele Gruesse

Horst Henkler

  1. Hi,

    Wenn ich nun beim IE 5 , auf Zurueck klicke, komme ich nicht dahin zurueck wo ich hergekommen bin, sondern halt nur eine von den Teilseiten.

    natürlich. Die History enthält ja zwei neue Einträge, also mußt Du auch zwei mal Back benutzen.

    Kennt jemand einen Weg wie ich dieses Problem umgehen kann ?

    Mit location.replace() statt location.href wird der aktuelle History-Eintrag überschrieben.

    Cheatah

    1. Hi,

      Wenn ich nun beim IE 5 , auf Zurueck klicke, komme ich nicht dahin zurueck wo ich hergekommen bin, sondern halt nur eine von den Teilseiten.

      natürlich. Die History enthält ja zwei neue Einträge, also mußt Du auch zwei mal Back benutzen.

      Kennt jemand einen Weg wie ich dieses Problem umgehen kann ?

      Mit location.replace() statt location.href wird der aktuelle History-Eintrag überschrieben.

      Cheatah

      Hallo Cheatah,

      Danke fuer den Tip, allerdings so richtig funktionieren tut es noch nicht. ICh habe folgendes Script in der Seite

      <script language="JavaScript">
        <!--
         function ZweiFrames(URL1,F1,URL2,F2,URL3,F3)
         {  
          parent.frames[F1].location.replace=(URL1);
          parent.frames[F2].location.href=URL2;
      parent.frames[F3].location.href=URL3;
            
      }
        //-->
        </script>

      kann es sein das location.replace nicht mit frames arbeitet ?

      Vielen Dank

      1. Hi,

        Danke fuer den Tip, allerdings so richtig funktionieren tut es noch nicht.

        schau Dir die Fehlermeldung an, die Dir der Browser liefert...

        parent.frames[F1].location.replace=(URL1);

        location.replace() ist eine Methode, keine Eigenschaft. Das "=" darf dort also nicht stehen.

        parent.frames[F2].location.href=URL2;

        »»  parent.frames[F3].location.href=URL3;

        Hier werden übrigens auch wieder zwei History-Einträge geschaffen.

        Cheatah

        1. Hi,

          Danke fuer den Tip, allerdings so richtig funktionieren tut es noch nicht.

          schau Dir die Fehlermeldung an, die Dir der Browser liefert...

          parent.frames[F1].location.replace=(URL1);

          location.replace() ist eine Methode, keine Eigenschaft. Das "=" darf dort also nicht stehen.

          parent.frames[F2].location.href=URL2;
          »»  parent.frames[F3].location.href=URL3;

          Hier werden übrigens auch wieder zwei History-Einträge geschaffen.

          Cheatah

          Der Aufruf funktioniert jetzt :-) allerdings ist der gewuenschte Erolg nicht da. Die Funtion ersetzt zwar die Seite, jedoch wird gar nichts in der History gesetzt. Ich habe dann halt nur einen Eintrag weniger in der History.
          Das wirft dann gleich wieder das naechste Problem auf. Wenn ich auf die besagte erste Seite gehe , dann aendert sich auch nur eine Teilseite und nicht alle geanderten Seiten in den Frames.

          Vielen Dank

          Horst

          1. Hi,

            Wenn ich auf die besagte erste Seite gehe , dann aendert sich auch nur eine Teilseite und nicht alle geanderten Seiten in den Frames.

            dann muß die Titelseite eben alle anderen benötigten Frames ändern, ganz einfach.

            Btw: Denkst Du auch dran, daß die Zahl der User, die JavaScript aktivieren, stetig sinkt?

            Cheatah

    2. ja tagchen. das problem hatte ich auch schon.

      Das Problem ist deutlich, wenn du dir beim aufrufen der seite mal die netscape history anschaust. der frame, wo du zurückgehen willst ist vermutlich nicht der letzte und da ist netscape sehr restriktiv.

      mach also doch einfach eine browserabfrage für die eine funktion, die du definieren musst. funktion zurück oder so...wenn IE, dann einfach javascrip:history back (), wenn Netscape, dann halt die entsprchende Anzahl an URL zurück, d.h. eine function mut einer If-Abfrage.

      Die funktion kannst du ja dann außerdem auch für die ganze seite benutzen. wie es allerdings in dieser situation mit html.freak browsern wie opera aussieht, weiß ich nicht...dafür musste mann wissen, wie die auf den back-Befehl reagieren. das weiß ich aber nicht. IE und NS sind aber eh am gängisten. Gruß Carsteb

      Hi,

      Wenn ich nun beim IE 5 , auf Zurueck klicke, komme ich nicht dahin zurueck wo ich hergekommen bin, sondern halt nur eine von den Teilseiten.

      natürlich. Die History enthält ja zwei neue Einträge, also mußt Du auch zwei mal Back benutzen.

      Kennt jemand einen Weg wie ich dieses Problem umgehen kann ?

      Mit location.replace() statt location.href wird der aktuelle History-Eintrag überschrieben.

      Cheatah

      1. ja tagchen. das problem hatte ich auch schon.

        Das Problem ist deutlich, wenn du dir beim aufrufen der seite mal die netscape history anschaust. der frame, wo du zurückgehen willst ist vermutlich nicht der letzte und da ist netscape sehr restriktiv.

        mach also doch einfach eine browserabfrage für die eine funktion, die du definieren musst. funktion zurück oder so...wenn IE, dann einfach javascrip:history back (), wenn Netscape, dann halt die entsprchende Anzahl an URL zurück, d.h. eine function mut einer If-Abfrage.

        Die funktion kannst du ja dann außerdem auch für die ganze seite benutzen. wie es allerdings in dieser situation mit html.freak browsern wie opera aussieht, weiß ich nicht...dafür musste mann wissen, wie die auf den back-Befehl reagieren. das weiß ich aber nicht. IE und NS sind aber eh am gängisten. Gruß Carsteb

        Hallo Carsten,

        wenn ich Dich richtig verstanden habe, dann soll ich auf den Back-Button verzichten , und das blattern innerhalb der Site nur mittels Navigationsbuttons machen ?

        Vielen Dank

        Horst

        1. Hi,

          wenn ich Dich richtig verstanden habe, dann soll ich auf den Back-Button verzichten , und das blattern innerhalb der Site nur mittels Navigationsbuttons machen ?

          nein. Ich beispielsweise navigiere wenn möglich _immer_ mit dem Back-Button. Wenn Du mir diese Möglichkeit nimmst, werde ich sauer (soll heißen: besuche Deine Site garantiert nie wieder).

          Cheatah

      2. Hallo

        ... wie es allerdings in dieser situation mit html.freak browsern wie opera aussieht, weiß ich nicht...

        z.B. <a href="javascript:history.go(-3)">Zurück</a>

        Gruß

        Andreas