wilhelm wolf: externer link auf seite in einem frame

wie kann man von "ausserhalb" meiner homepage einen link auf eine spezielle seite in einem frame setzten?
konkret: meine seite besteht aus frames. von einer anderen url soll nun eine bestimmte seite (nicht die startseite) aufgerufen werden, aber eben mit den umgebenden frames.
in den faqs habe ich (noch) nichts gefunden, bin in zeitnot.
wiwo

  1. Hallo Wilhelm

    wie kann man von "ausserhalb" meiner homepage einen link auf eine spezielle seite in einem frame setzten?
    konkret: meine seite besteht aus frames. von einer anderen url soll nun eine bestimmte seite (nicht die startseite) aufgerufen werden, aber eben mit den umgebenden frames.

    Eine einfache und sichere Loesung ist es, einfach eine zweite HTML-Datei mit Frameset-Definitionen anzufertigen, wobei die Frameset-Struktur aus der Original-Datei mit den Frameset-Definitionen einfach uebernommen wird. Nur mit dem Unterschied, dass Du in dem einen Frame als Startseite bei <frame src> gleich die gewuenschte Datei angibst, die direkt anspringbar sein soll. Auf diese spezielle Datei mit Frameset-Definitionen kann man dann prima von extern verlinken.

    viele Gruesse
      Stefan Muenz

    1. Eine einfache und sichere Loesung ist es, einfach eine zweite HTML-Datei mit Frameset-Definitionen anzufertigen, wobei die Frameset-Struktur aus der Original-Datei mit den Frameset-Definitionen einfach uebernommen wird. Nur mit dem Unterschied, dass Du in dem einen Frame als Startseite bei <frame src> gleich die gewuenschte Datei angibst, die direkt anspringbar sein soll. Auf diese spezielle Datei mit Frameset-Definitionen kann man dann prima von extern verlinken.

      Genauso habe ich das auch gemacht. Schau einfach mal in meinem Inhaltsverzeichnis nach: http://www.daubner.de/cont.htm
      oder mit Frames
      http://www.daubner.de/f-cont.htm

      Gruss, Alf

    2. Hallo Stefan,

      Eine einfache und sichere Loesung ist es, einfach eine zweite HTML-Datei mit Frameset-Definitionen anzufertigen, wobei die Frameset-Struktur aus der Original-Datei mit den Frameset-Definitionen einfach uebernommen wird. Nur mit dem Unterschied, dass Du in dem einen Frame als Startseite bei <frame src> gleich die gewuenschte Datei angibst, die direkt anspringbar sein soll. Auf diese spezielle Datei mit Frameset-Definitionen kann man dann prima von extern verlinken.

      Frage in diesem Zusammenhang:

      Könnte man nicht per JS nicht irgendwie ein Frameset dynamisch erstellen, oder geht das nur per CGI? Bzw. könnte man nicht beim Aufruf einer Seite in CGI-Manier einen Parameter mitgeben (z.B. href="frameset.htm?seite.htm"), und diesen Parameter dann innerhalb frameset.htm per JS auswerten und mittels document.write() in das Frameset schreiben? ...nur so ein Gedanke. Wär' doch schön, wenn sowas ginge!

      Stefan

      1. Hallo Stefan,

        Könnte man nicht per JS nicht irgendwie ein Frameset dynamisch erstellen, oder geht das nur per CGI? Bzw. könnte man nicht beim Aufruf einer Seite in CGI-Manier einen Parameter mitgeben (z.B. href="frameset.htm?seite.htm"), und diesen Parameter dann innerhalb frameset.htm per JS auswerten und mittels document.write() in das Frameset schreiben? ...nur so ein Gedanke. Wär' doch schön, wenn sowas ginge!

        Selbstverstaendlich - genau so!
        Nur: es funktioniert eben nur bei eingeschaltetem JavaScript. Wegen eines einzigen Falles wuerde ich so was nicht basteln. Wenn man natuerlich zehn, hunderte oder alle Frame-Unterseiten auf diese Weise fuer Links zugaenglich machen will, ist so ein Script natuerlich die richtige Loesung.

        viele Gruesse
          Stefan Muenz

        1. Hallo Stefan,

          nur: wie wertet man die übergebenen Parameter mit JS aus? (sorry, hab' noch nicht in SELFHTML reingeguckt ;-)

          Gruß,
          Stefan

          1. Hallo Stefan,

            nur: wie wertet man die übergebenen Parameter mit JS aus? (sorry, hab' noch nicht in SELFHTML reingeguckt ;-)

            Entweder man uebergibt sie mit (Beispiele):
            spezialframeset.htm?xy.htm
            oder mit
            spezialframeset.htm#xy.htm

            Letzteres ist bloederweise sicherer als ersteres. Wichtig ist nur, dass es in der Datei keinen Anker dieses Namens gibt und stattdessen ein JavaScript, das den uebergebenen String abfaengt.

            Das Zeugs hinter dem ? ermittelt man in JS mit
            window.location.search (<../../tecbe.htm#a9>)
            und das hinter dem # mit
            window.location.hash (<../../tecbe.htm#a2>)

            viele Gruesse
              Stefan Muenz

            1. Hallo Stefan,

              danke; das mit dem window.location.search habe ich inzwischen dank SELFHTML auch herausgefunden. :-) Den Parameter habe ich mit "?" abgetrennt (warum soll "#" sicherer sein???).

              Das nächstes Problem ist der Aufbau des dynamischen Framesets. Mit MSIE funktioniert das alles auch wunderbar (siehe mein Beispielscript im Thread "JS: beliebige Seite in Frameset laden" weiter oben). Nur mit NN nicht... ;-(

              Gruß,
              Stefan

  2. Hallo!

    wie kann man von "ausserhalb" meiner homepage einen link auf eine spezielle seite in einem frame setzten?

    Mit HTML ist das unmöglich! Vielleicht mit JS oder einem CGI, ich glaube es aber nicht!
    Eine Möglichkeit währe, jedesmal ein Frameset für jede Seite neu zu erstellen. Man lädt zwar z.B. das "Navigationsframe" immer wieder in den Framesets, aber die  eigentlich Seite immer neu. Also z.B. ein Frameset für Bands, Kontakt, CD usw.. Dann kann man auch zu untergeordneten Seiten ein Link setzen.
    Oder eine Noframeseite bauen, was nach meiner Meinung schwerer ist. Mit einer intelligent Dateibennenung ist dann auch schon an der URL zu sehen wo es hin geht, also www.domain.de/kontakt.htm, www.domain.de/cd.htm, www.domain.de/bands.htm usw.

    Schaue Dir mal die Seite http://www.gnn.de an, die nehmen keine Framesets um von "ausserhalb", im Newsletter, auf Artikel zu verweisen.

    »»..... bin in zeitnot.
    Es gibt Dinge, für die sollte man sich immer Zeit nehmen.

    André

    1. Hallo!

      Mit HTML ist das unmöglich! Vielleicht mit JS oder einem CGI, ich glaube es aber nicht!
      Eine Möglichkeit währe, jedesmal ein Frameset für jede Seite neu zu erstellen. Man lädt zwar z.B. das "Navigationsframe" immer wieder in den Framesets, aber die  eigentlich Seite immer neu. Also z.B. ein Frameset für Bands, Kontakt, CD usw.. Dann kann man auch zu untergeordneten Seiten ein Link setzen.

      Stefan hat das in seiner Antwort besser beschrieben, und war auch beim abschicken schneller.

      André