- Was Tilde wohl versucht, ist tatsächlich etwas clientseitiges, und er ist ziemlich nah dran, mit zwei Einschränkungen:
a) Hilft ihm if(self==top) dann nicht, wenn seine Datei in nem fremden Frameset drinsteckt. Etwas wie if(top.location.href != "name_des_framesets.htm") wäre da besser. Insofern wäre auch var adresse = self.location.href; deutlich besser als var adresse = window.location.href;
b) document.location.href sollte window.location.href oder - in dem Fall - top.location.href heißen.
- Unter bestimmten Bedingungen lässt sich etws derartiges IMHO schon auch server-seitig regeln - nämlich dann, wenn als Referrer, der ja serverseitig ausgelesen werden kann, lediglich zum Beispiel das Frameset selber und ein Navigationsframe als zulässig betrachtet werden kann. Oder: nur Referrer von der eigenen Domain werden als zulässig betrachtet. Das hängt aber natürlich davon ab, wie er seine Navigation gestaltet hat.
Grüße,
Utz
Hi Utz,
lassen wir den Streitereikram.. führt zu nix. :-)
Tilde hat sich anscheinend mit den von mir gegebenen Stichworten self.location & Co. intensiv befasst. Er muß aber auch erstmal wissen, was er genau will und was nicht.
Lt. meiner Überzeugung: eine Seite, die bei ihm nur im Frameset stehen soll, darf nicht als top.location.href stehen sondern als top.frames['spez. Framename'].location.href
ergo müßte er jeder seite, die er nicht als top.location.href sehen möchte eine Javascript-Abfrage geben, die top.location.href auf sein Frameset setzt mit entsprechenden GET-Werten, damit sein Script weiß, welcher Navigationspunkt dann wieder aufgerufen werden soll.
Das ganze serverseitig zu machen ist etwas komplizierter, dafür aber browsersicher. Vor dem Response.Redirect darf er dann aber keine Ausgabe haben, sondern nur eben die Abfrage nach dem Referrer. Das ganze als Include verpackt.
Tilde wird sicherlich beide Varianten versuchen und dann entscheiden, was für ihn einfacher und besser ist. :-)
Yo, denn einen schönen Arbeitstag noch.
Tschau, Frank