externer link auf seite in einem frame
wilhelm wolf
0 Stefan Muenz0 Alf0 Stefan Bion
0 André Laugks
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
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
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
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
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
Hallo Stefan,
nur: wie wertet man die übergebenen Parameter mit JS aus? (sorry, hab' noch nicht in SELFHTML reingeguckt ;-)
Gruß,
Stefan
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
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
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é
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é