jkehr: JavScript Menu - Links in Frame

Hallo, ich habe folgendes Problem:

Meine HTML Seite war bisher mit Frames aufgebaut, wobei eine Frame links ein Navigationsmenu enthielt, rechts daneben ein großer Frame den eigentlichen Inhalt dieser Seite. Dort kamen mitunter auch externe Links vor, wurden diese aufgerufen erschien die externe Seite in diesem Frame. Der Benutzer bekam aber weiter die Navigation in dem verbleibenden linken Frame angezeigt.

Nun habe ich die Navigation auf eine dynamische Tabelle mit JavaScript umgestellt, welche (nur) dann eingeblendet wird, wenn der Benutzer die MAus hin zum linken Rand bewegt. Das funktioniert soweit einwandfrei. ABER: Verwendet man nun externe Links, so wird die externe Seite im nächsten Bildschirm angezeigt, dieser beinhaltet aber nicht die einblendbare Navigationsleiste, so dass der Benutzer erst wieder zurück gehen muss, um dann auf einen anderen Teil meiner Seite zu navigieren.

Weiß vielleicht jemand eine Möglichkeit, wie ich erreiche, dass auch wenn ich die fremde Seite angezeigt bekomme, ich meine Navigationsleiste verwende kann?

Vielen Dank für jede Hilfe.
Gruß JKehr

  1. Liebe(r) jkehr,

    Weiß vielleicht jemand eine Möglichkeit, wie ich erreiche, dass auch wenn ich die fremde Seite angezeigt bekomme, ich meine Navigationsleiste verwende kann?

    Du willst also auf einer fremden Seite Deine Inhalte (Deine Navi) anzeigen lassen? Das würde ich mir für meine Seiten streng verbitten. Mit welchem Recht soll jemand seinen Kram auf meinen Seiten anzeigen können?

    Dass dahinter auch hochgradig brisante Sicherheitsaspekte mitschwingen wird Dir vielleicht helfen einzusehen, warum Dein Ansinnen völlig fruchtlos bleiben muss.

    Wenn jemand einem externen Link folgt, dann weiß der in aller Regel, dass er Deine Seite nur dadurch wieder erreicht, indem er zurück (back-Button) geht. Das war im WWW schon seit Anfang an so. Warum willst Du das jetzt ändern bzw. Deinen Besuchern diese Fähigkeit aberkennen?

    Liebe Grüße,

    Felix Riesterer.

    --
    ie:% br:> fl:| va:) ls:[ fo:) rl:| n4:? de:> ss:| ch:? js:) mo:} zu:)
    1. Grüße,

      Wenn jemand einem externen Link folgt, dann weiß der in aller Regel, dass er Deine Seite nur dadurch wieder erreicht, indem er zurück (back-Button) geht. Das war im WWW schon seit Anfang an so. Warum willst Du das jetzt ändern bzw. Deinen Besuchern diese Fähigkeit aberkennen?

      *mit kresichend-zischender Stimme* Meeeiiin Besucher! Meeein! Ich geb ihn nicht hääär! *hinter Stein verkriech*
      MFG
      bleicher

      --
      __________________________-

      FirefoxMyth
      1. Schade eigentlich, dass statt die technische Frage zu beantworten, hier allerlei philosophische Überlegungen zu dem Webdesign angestellt werden und über rechtliche Bedenken gefaselt (Entschuldigung !) wird.

        Vielleicht sollte ich erwähnen, dass es sich bei der Anwendung um die es geht, um eine Intranet- Anwendung handelt und die Links ebenfalls auf eine allerdings auf einem anderen Webserver angesiedelte (Intranet-) Anwendung verweisen.

        Die zweite Seite (die verlinkte Seite) also quasi UNTER der ersten anzusiedeln ist in diesem Kontext also durchaus sinnvoll und gewollt.

        Gruß
        JKehr

        1. Hallo JKehr

          Vielleicht sollte ich erwähnen, dass es sich bei der Anwendung um die es geht, um eine Intranet- Anwendung handelt und die Links ebenfalls auf eine allerdings auf einem anderen Webserver angesiedelte (Intranet-) Anwendung verweisen.

          Ja, und zwar im Eröffnungsposting!

          Charta des SELFHTML-Forums - Tipps für Fragende:
          „Erwähne besondere Umgebungsbedingungen wie Browser und Betriebssystem etc. Für ein Intranet gelten z.B. andere Maßstäbe als für im World Wide Web veröffentlichte Seiten.”

          Auf Wiederlesen
          Detlef

          --
          - Wissen ist gut
          - Können ist besser
          - aber das Beste und Interessanteste ist der Weg dahin!
          1. Ja, und zwar im Eröffnungsposting!

            Völlig korrekt, sorry mein Fehler. Dann also nochmal, die gleiche Frage unter den jetzt genannten (Intranet-) Rahmenbedingungen.

            Viele Grüße
            JKehr

            1. Grüße,
              unter dem Intranet aspekt -
              ich würde UserJS oder ähnliches nutzen, da die Anazahl der nutzer und dessen konfiguration bekannt und steuerbar sind.
              alternativ bleibt noch laden der links in ein frame, sodass "rahmen" mit navigation "zurückbleibt" - da gäbe es, je nach domainEinschränkungen vllt bessere lösungen.
              leider weiss ich nciht wie crosscriptuing im intranet zu handhaben ist.
              MFG
              bleicher

              --
              __________________________-

              FirefoxMyth
              1. alternativ bleibt noch laden der links in ein frame, sodass "rahmen" mit navigation "zurückbleibt"

                Hallo, dies ist mir als einzige Lösung auch bereits eingefallen, da hatte ich aber die Schwierigkeit, dass das per Mausbewegung eingeblendete (Navigations-) Menu nur den Platz des zugewiesenen Frames nutzen kann, d.h. ich müsste den (Rahmen-) Frame so groß machen, wie zuvor den der das Menu in seiner statischen Form enthielt. Dann geht mir aber ein großer Vorteil, nämlich, dass ich den Platz, den ich dadurch gewinne, dass das Menu nur angezeigt wird, wenn es gebraucht wird, wieder verloren. Das bringst nicht wirklich.

                Viele Grüße
                JKehr

                1. Grüße,

                  Hallo, dies ist mir als einzige Lösung auch bereits eingefallen, da hatte ich aber die Schwierigkeit, dass das per Mausbewegung eingeblendete (Navigations-) Menu nur den Platz des zugewiesenen Frames nutzen kann

                  Oh Genration i! Es ist beinahe schmerzhaft zu erfahren, dass die Jugend von heute die i nur noch vom iFon und iSprung kennt. Wo sind die glorreichen Zeiten verblieben, als man i noch vor den frames kannte?
                  MFG
                  bleicher

                  --
                  __________________________-

                  FirefoxMyth
                2. Yerf!

                  Vielleicht hilft dir ja der Ansatz weiter, dass man auch Frames per JS dynamisch in der Breite verändern kann. (über "top" auf die Frame-Seite zugreifen, sich das entsprechende Element holen und die width verändern)

                  Gruß,

                  Harlequin

                  --
                  RIP --- XHTML 2
                  nur die Besten sterben jung
                  1. Grüße,

                    Vielleicht hilft dir ja der Ansatz weiter, dass man auch Frames per JS dynamisch in der Breite verändern kann. (über "top" auf die Frame-Seite zugreifen, sich das entsprechende Element holen und die width verändern)

                    habe ich echt verpasst, wann iframes deprecated wurden?
                    MFG
                    bleicher

                    --
                    __________________________-

                    FirefoxMyth
                    1. Yerf!

                      habe ich echt verpasst, wann iframes deprecated wurden?

                      Mit HTML 4. Klar könnte man das ganze auch mit einem IFrame lösen, aber auch mit einem Frameset ist das dynamische Ein- und Ausblenden des Menüs möglich. (hab sowas schon mal für ne Intranet-Seite gebaut)

                      Gruß,

                      Harlequin

                      --
                      RIP --- XHTML 2
                      nur die Besten sterben jung
                      1. Grüße,

                        Mit HTML 4. Klar könnte man das ganze auch mit einem IFrame lösen, aber auch mit einem Frameset ist das dynamische Ein- und Ausblenden des Menüs möglich.

                        du meinst ernsthaft, man solle statt "normalen überlappverhalten" einen wald von JS pflanzen? ich sag ja nicht, dass es nciht geht, aber iframes sind sowieso supergut unterstützt, so wie scheißwerbung überall blinkt ;) und validität etc. im intranet? mal ehrlich.
                        MFG
                        bleicher

                        --
                        __________________________-

                        FirefoxMyth
                        1. Yerf!

                          Iframes sind genauso Valide wie Framesets, beides ist in HTML4 deprecated. Ich sprech mich ja auch nicht gegen die IFrame Lösung aus. Ich wollte nur erwähnen, das seine bisherige Frame-Lösung sich entsprechend umbauen lässt, dass das Menü zugeklappt werden kann. Aber vermutlich wäre ein IFrame sogar besser, da damit eine Überlappung der Inhalte möglich wäre, was mit einem Frameset nicht geht.

                          Gruß,

                          Harlequin

                          --
                          RIP --- XHTML 2
                          nur die Besten sterben jung
                          1. Aber vermutlich wäre ein IFrame sogar besser, da damit eine Überlappung der Inhalte möglich wäre, was mit einem Frameset nicht geht.

                            Hallo, genau das ist mein Problem, was ich bis jetzt nicht hinbekommen habe: Meine aufklappbare Navigation befindet sich außerhalb des iframes in welchem der externe Link geöffnet ist. Soll sich nun dieser Naviagationsbereich öffnen, so müsste er Teile des iframes (mit dem externen Link) überlappen/überlagern und genau da fehlt mir die Idee wie das zu codieren ist.

                            Da wäre ich für jede Idee dankbar.

                            Gruß
                            JKehr

                            PS: Bitte, wenn möglich nicht wieder irgendwelche Grundsatzdiskussionen, dass das Ganze mit CSS etc. statt mit JS besser wäre usw. usw. Vielen Dank.

                            1. Yerf!

                              Da wäre ich für jede Idee dankbar.

                              Ein IFrame lässt sich per CSS genaso positionieren wie jedes andere Element auch. Das Menü per position:absolut über den IFrame zu legen sollte auch kein Problem sein.

                              Falls sich der IFrame bei der Überlappung trotz z-Index in den Vordergrund drängt (kann bei manchen IE Versionen passieren) musst du das Menü ebenfalls in einen Iframe packen.

                              Gruß,

                              Harlequin

                              --
                              RIP --- XHTML 2
                              nur die Besten sterben jung
            2. Moin Moin!

              Völlig korrekt, sorry mein Fehler. Dann also nochmal, die gleiche Frage unter den jetzt genannten (Intranet-) Rahmenbedingungen.

              Reverse Proxy.

              Das GESAMTE Intranet wird über EINEN Reverse Proxy angesprochen, die diversen Intranet-Servern werden hinter verschiedenen URL-Prefixen versteckt. Mit dem Apachen kannst Du das relativ einfach mit mod_proxy erschlagen.

              Der jeweilige Browser sieht, dass sämtliche Inhalte von ein und dem selben Webserver kommen, die Same Origin Policy hat keine Einwände, und Du kannst mit Javascript und Frames treiben, was Du willst.

              Alexander

              --
              Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so".
  2. Grüße,
    Navigation als Tabelle mit JS?
    Ich kann versuchen dir zu helfen, einen Hammer mit ergonomischem Griff zu finden, damit du dich etwas Gelenkschonender auf die Finger hauen kannst.
    Oder auch, du schmeißt den Konzept zu 90% raus und versuchst dich an CSS und vernünftiger Navigatipnsgestaltung. Spart größere Probleme später.

    Außerdem - du kannst clientseitig dein Vorhaben höchstens mit Frames umsetzen, und recht viele Seiten haben immernoch ein "Antiframescript" aktiv. Also lässt du es lieber gleich und lässt externe Links in neuen tabs öffnen. Spart auch RECHTLICHE probleme uU.
    MFG
    bleicher

    --
    __________________________-

    FirefoxMyth
    1. Lieber bleicher,

      Oder auch, du schmeißt den Konzept zu 90% raus und versuchst dich an CSS und vernünftiger Navigatipnsgestaltung. Spart größere Probleme später.

      das wäre dann der zweite Schritt. Der erste ist die Einsicht, dass das, was der OP ursprünglich zu erreichen suchte, völlig an der Realität vorbei ist.

      Die von Dir angesprochene CSS-basierte Lösung sollten wir dann auch noch gleich verlinken:
      <http://de.selfhtml.org/css/layouts/navigationsleisten.htm@title=CSS-basierte Navigationsleisten>

      Liebe Grüße,

      Felix Riesterer.

      --
      ie:% br:> fl:| va:) ls:[ fo:) rl:| n4:? de:> ss:| ch:? js:) mo:} zu:)
  3. Weiß vielleicht jemand eine Möglichkeit, wie ich erreiche, dass auch wenn ich die fremde Seite angezeigt bekomme, ich meine Navigationsleiste verwende kann?

    Ich habe eine Navigationsleiste jederzeit verfügbar. Sie nennt sich Bookmarks, auch bekannt als Lesezeichen.

    mfg Beat

    --
    ><o(((°>           ><o(((°>
       <°)))o><                     ><o(((°>o
    Der Valigator leibt diese Fische