Klaus Roeller: neues Frameset laden

Hallo alle zusammen!

Wenn meine Seiten aus einem Framefenster einer anderen Seite heraus aufgerufen werden, dann habe ich mir ein Script geschrieben dass meine Seite das ganze Navigatorfenster ausfüllt, dies funktioniert aber nur solange ein echtes Frameset vorhanden ist. Wenn ein Link aus einer Seite heraus erfolgt die nur ein Frameset hat das als Netforward dienen soll, greift mein Script natürlich nicht und meine Seite wird unter der URL des fremden Framesets angezeigt.

Mein Skript:
<script>
if ( top.frames.length > 1 ) top.location="http://musikkapelle.obermarchtal.com/index.html";
</script>

Wer kann mir da helfen, dass ich dieses Problem in den Griff bekomme? Hat mir jemand einen Tipp für ein anderes Java Script?

"Meine" Homepage: http://musikkapelle.obermarchtal.com

Wer meine Beschreibung nicht versteht (sorry für die schlechte Beschreibung), kann mal testen was ich meine: Geht über die Seite: http://obermarchtal.com/kirche/ mal rein, und klickt etwa in der Mitte auf "Musikkapelle".

Danke!

Klaus Röller

PS: Ich bin heute zum Ersten Mal hier, und bin erstaunt darüber wieviele Leute hier Berichte schreiben. :-)

  1. Wenn meine Seiten aus einem Framefenster einer anderen Seite heraus aufgerufen werden, dann habe ich mir ein Script geschrieben dass meine Seite das ganze Navigatorfenster ausfüllt, dies funktioniert aber nur solange ein echtes Frameset vorhanden ist. Wenn ein Link aus einer Seite heraus erfolgt die nur ein Frameset hat das als Netforward dienen soll, greift mein Script natürlich nicht und meine Seite wird unter der URL des fremden Framesets angezeigt.

    ich sehe keinen Unterschied. kann aber daran liegen, daß Opera die Dateien offline speichert, und dann von da aus lädt. Meinst du das Scrollen links oder das überbreite Banner??

    1. ich sehe keinen Unterschied. kann aber daran liegen, daß Opera die Dateien offline speichert, und dann von da aus lädt. Meinst du das Scrollen links oder das überbreite Banner??

      Wieso Scrollen links? Du kannst normalerweise in meinem linken Frame überhaupt gar nicht scrollen. Welches überbreite Banner?

      Ich meinte eigentlich nur die URL des fremden Framesets stört mich, weil ich meine eigene URL angezeigt haben möchte.

      Danke fürs Schauen. Deine Seiten sehen auch gut aus. Vor allem die überblendenden Grafiken wirken gut, ich würde an deiner Stelle ein Script schreiben, das alle Grafiken gleich am Anfang mitlädt und nicht erst beim Überfahren nachladen muss.

      Klaus Roeller

  2. Hi,

    Wenn meine Seiten aus einem Framefenster einer anderen Seite heraus aufgerufen werden, dann habe ich mir ein Script geschrieben dass meine Seite das ganze Navigatorfenster ausfüllt, dies funktioniert aber nur solange ein echtes Frameset vorhanden ist. Wenn ein Link aus einer Seite heraus erfolgt die nur ein Frameset hat das als Netforward dienen soll, greift mein Script natürlich nicht und meine Seite wird unter der URL des fremden Framesets angezeigt.

    Mein Skript:
    <script>
    if ( top.frames.length > 1 ) top.location="http://musikkapelle.obermarchtal.com/index.html";
    </script>

    Wer kann mir da helfen, dass ich dieses Problem in den Griff bekomme? Hat mir jemand einen Tipp für ein anderes Java Script?

    versuch es doch folgendermaßen:

    <script>
       function error() { top.location.href="http://musikkapelle.obermarchtal.com/index.html"; }
       window.onerror = 'error()';
       if (top.location.host.indexOf('musikkapelle.obermarchtal.com') < 0) { error(); }
    </script>

    Das onerror ist wichtig, weil aus Sicherheitsgründen (öhm...) nicht auf top.location zugegriffen werden kann, wenn sich der Hostname von dem des zugreifenden Dokuments unterscheidet. So wird die Seite niemals in einem fremden Frameset angezeigt. Ist das Problem damit gelöst? Wenn nicht, dann beschreibe es bitte noch mal genauer... :-)

    Cheatah

    1. versuch es doch folgendermaßen:

      <script>
         function error() { top.location.href="http://musikkapelle.obermarchtal.com/index.html"; }
         window.onerror = 'error()';
         if (top.location.host.indexOf('musikkapelle.obermarchtal.com') < 0) { error(); }
      </script>

      Das onerror ist wichtig, weil aus Sicherheitsgründen (öhm...) nicht auf top.location zugegriffen werden kann, wenn sich der Hostname von dem des zugreifenden Dokuments unterscheidet. So wird die Seite niemals in einem fremden Frameset angezeigt. Ist das Problem damit gelöst? Wenn nicht, dann beschreibe es bitte noch mal genauer... :-)

      Cheatah

      Danke dafür!

      Aber es wird bei mir dadurch nur eine Fehlermeldung mit der richtigen (meiner) URL eingeblendet. Aber im Browserfenster steht immer noch die falsche URL.

      Ich habe hier mal ein Beispiel für ein Frameset, aus dem ich einen Link zu unserer Seite habe.

      <frameset rows="100%,*" framecolor="#000000">
          <frame src="http://home.t-online.de/home/juedo/1.htm" name="die_Seite">
      </frameset>

      Wenn meine Seite aus diesem Frameset heraus aufgerufen wird, dann greift mein Skript nicht, weil auf dem Bildschirm ja gar keine Frames zu sehen sind. Dieses Frameset dient allein dazu, die angegebene Seite unter dem Namen http://obermarchtal.com/kirche anzuzeigen. Aber alle Seiten die jetzt per Link aus dieser Seite heraus aufgerufen werden nun aber auch unter diesem Namen angezeigt. Ich kann bei meiner Seite dann nicht einfach hingehen, rechte Maustaste, "in neuem Fenster öffnen" weil ich auf meiner Seite mehrere Frames habe.

      Oder hat mir jemand eine andere Lösung dafür, dass ich die Seite: http://home.t-online.de/home/juedo/1.htm unter dem Namen: http://obermarchtal.com/kirche/ anzeigen kann? (Ich hab unserem Pfarrer nämlich versprochen, dass seine Seiten unter http://obermarchtal.com/kirche zu erreichen sein wird, und jetzt erscheinen alle Seiten, die man aus seiner Seite per Link erreichen kann unter diesem Namen)

      Bei einem anderen Frameset, mit richtigen (sichtbaren) Spalten (oder so) greift mein Skript ja. Wenn aus dieser Seite heraus jetzt meine Seite aufgerufen wird, dann erscheint sie (so wie es sein sollte) unter meinem Namen, und füllt den ganzen Bildschirm aus.

      Beispiel:
      <FRAMESET COLS="150,*" Border=0>
      <FRAME SRC="navi.htm" NAME="links">
        <FRAMESET ROWS="45,*">
        <FRAME SRC="kopf.htm" NAME="logo">
        <FRAME SRC="homepage.htm" NAME="main">
      </FRAMESET>
      </FRAMESET>

      Danke für eure Hilfe!

      Gruß,
      Klaus Roeller

      1. Bei einem anderen Frameset, mit richtigen (sichtbaren) Spalten (oder so) greift mein Skript ja. Wenn aus dieser Seite heraus jetzt meine Seite aufgerufen wird, dann erscheint sie (so wie es sein sollte) unter meinem Namen, und füllt den ganzen Bildschirm aus.

        Gruß,
        Klaus Roeller

        Hallo Klaus,

        ich hoffe, ich habe dein Problem jetzt verstanden. Ich denke, dich stört, daß nach Aufruf eines Linkes nicht dessen Seitenadresse angezeigt und das Frame nicht verlassen wird. Wenn du, wie ich annehme, auch die Seite eures Pfarrers betreust, könntest du einmal folgendes probieren:

        <A HREF="http://musikkapelle.obermarchtal.com" target="_top">Musikapelle Obermarchtal</A>

        Übrigens auf der Seite befindet sich genau hinter diesem Link dieser Tag: </NOFRAMES>
        <noframes> gibt es aber nicht im Dokument. Der angegebene Tag kann hier gelöscht werden.

        A.H.

        1. Hallo Klaus,

          ich hoffe, ich habe dein Problem jetzt verstanden. Ich denke, dich stört, daß nach Aufruf eines Linkes nicht dessen Seitenadresse angezeigt und das Frame nicht verlassen wird. Wenn du, wie ich annehme, auch die Seite eures Pfarrers betreust, könntest du einmal folgendes probieren:

          Wenn ich die Seiten selber geschrieben hätte, könnte ich mir auch mit dem Attribut Target="_blank" ein neues Fenster öffnen, aber ich betreue die Seite nicht, (hab ihm nur den Namen gegeben) und ich will ihn damit auch nicht belästigen, weil er seine Seiten in einem HTML-Editor schreibt und dann nicht wüsste was ich von ihm will.

          <A HREF="http://musikkapelle.obermarchtal.com" target="_top">Musikapelle Obermarchtal</A>

          Übrigens auf der Seite befindet sich genau hinter diesem Link dieser Tag: </NOFRAMES>
          <noframes> gibt es aber nicht im Dokument. Der angegebene Tag kann hier gelöscht werden.

          Was der dort soll weiß ich wie gesagt auch nicht, weil ich die Seiten ja nicht selber geschrieben habe.

          Ich bräuchte da wahrscheinlich doch JavaScript dazu. Dies soll ja für ähnliche Fälle auch helfen. Ich kann ja nicht jeden Anschreiben, damit unsere Seite richtig dargestellt wird.

          Danke!

          Gruß,
          Klaus Roeller

          PS: Ich hoffe wir finden noch eine Lösung mit JavaScript. Danke!

      2. Hi Mädels, hallo Freunde

        Verzwickte Sache das....
        Schau mal hier:

        http://www.kafit.de/kristian/scripts.html

        das Thema hatten wir glaube ich, gerade.

        Gruss Kristian