Weiterleitung auf index mit javascript?

Hallo,
ich habe eine Website auf der die Inhalte in einem iframe erscheinen.
Bei google erscheinen diese Unterseiten nun auch in den Suchergebnissen, was ja auch so bleiben soll. Nur wäre es besser wenn dort beim Anklicken dann eben die index-Seite erscheint, weil auf der auch die Navigation ist. Iframes sind nicht so die tolle Lösung, ich weiss. Ist aber auch ein ungewöhnliches Layout.
Es gibt doch bestimmt ne Möglichkeit immer auf den index zu verweisen, wenn eine Unterseite nicht von dort(also vom index) geladen wurde.
Weiss jemand Rat??
Vielen Dank jedenfalls schonmal.

Hi,

ganz einfach:

Auf jeder iFrame-Seite muss ein kleines JavaScript eingebaut werden welches Überprüft ob die Seite auch im iFrame geladen worden ist. Wenn nicht wird per JavaScript umgeleitet und die iFrame-Adresse mit übergeben.

Geht z.B. so:

if (document.location.href == parent.location.href) {
document.location.href = ‚index.html?iframe=‘+parent.location.href.substring(parent.location.href.lastIndexOf(’/’)+1,parent.location.href.length);
}

(muss ggf. angepasst werden)

Den Rest kannst Du per PHP erreichen (welche Seite im iFrame angezeigt werden muss).

Keine Ahnung warum das mit hier im Forum nicht klappt…

Hallo Demy,

if (document.location.href == parent.location.href) {
document.location.href =
‚index.html?iframe=‘+parent.location.href.substring(parent.location.href.lastIndexOf(’/’)+1,parent.location.href.length);
}

Sollte man zum Weiterleiten nicht lieber mit window.location.href arbeiten?

document.location was originally a read-only property, although Gecko browsers allow you to assign to it as well. For cross-browser safety, use window.location
https://developer.mozilla.org/En/Document.location

Gleicht man darüber hinaus nicht eleganter einfach window (self) mit parent oder top ab?

also
if(self == parent) {
window.location.href = „index.html?“ + window.location.pathname;
}

Was sollte PHP in diesem Falle noch tun, wo JavaScript doch sowieso schon bei der Arbeit ist und alles in einem Rutsch erledigen kann?

Vgl. auch: http://aktuell.de.selfhtml.org/artikel/javascript/dy…

Gruß Gernot

Hi Gerot,

jo, Deine Lösung ist natürlich noch besser - keine Frage :smile:

Nur mit window.location.pathname muss man etwas aufpassen, da kann man natürlich jeden beliebigen Blödsinn vom Server ins Frame setzen.

Per PHP müsste noch „gesteuert“ werden das die übermittelte Frame-URL auch auf der neuen Seite im Frame angezeigt wird (und ggf. gefiltert werden - s.o.).

Kann man natürlich auf der neuen Seite auch per JS lösen (den Part überlasse ich Dir - scheinst da etwas fitter zu sein :smile:)

Gruß,
Demy

Hallo Demy,

Per PHP müsste noch „gesteuert“ werden das die übermittelte
Frame-URL auch auf der neuen Seite im Frame angezeigt wird
(und ggf. gefiltert werden - s.o.).

Kann man natürlich auf der neuen Seite auch per JS lösen (den
Part überlasse ich Dir - scheinst da etwas fitter zu sein :smile:)

Dafür habe ich wiederum von PHP und sonstigen serverseitigen Techniken kaum Ahnung… :frowning:(

Wie die im Search-String ausgelesene URI dazu verwendet wird, sie in einem (I)FRAME mit einem ganz bestimmten Namen anzuzeigen, dazu verweise den ursprünglichen Fragesteller wieder auf den Klassiker von Martin Wernecke, der das im zweiten Teil seines SELFHTML-Kurzartikels ja gut beschreibt:

http://aktuell.de.selfhtml.org/artikel/javascript/dy…

@Tummetott: Wenn es da Probleme geben sollte, kannst du gerne nachfragen!

Gruß Gernot

MERCI Euch beiden!!

Habs hinbekommen. :smile: