PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Javascript nur ausführen wenn Verweisseite stimmt.


Geldmann3
2010-12-17, 20:32:14
Hi Leute, ich habe eine Seite, die standardmäßig in einem Frame geladen wird. Die Benutzer haben jedoch die Möglichkeit, diesen Frame zu verlassen. Nun möchte ich, dass eine Aktion (Zum Beispiel eine Alert Nachricht) nur dann ausgeführt wird, wenn der Frame gerade verlassen worden ist. Dafür möchte ich die zuvor besuchte Adresse hinterfragen. Ist dies die richtige, wird das Script ausgeführt.

Ich habe schon einen Ansatz, weiß jedoch nicht wie ich es in Javascript umsetzten kann.

<script type="text/javascript">
if (top = self) und letzte besuchte Seite "http://meineSeite.de" ist.
alert('Du bist gerade aus meinem Frame gesprungen')
</script>
Wie kann ich das rot markierte als weitere Bedingung dafür, dass die Nachricht angezeigt wird festsetzen?
Danke

Sephiroth
2010-12-17, 21:52:42
Das was du suchst nennt sich Referrer (http://de.selfhtml.org/javascript/objekte/document.htm#referrer).

Geldmann3
2010-12-17, 22:02:25
Danke,
und wie kann ich das ganze dann in Javascript ausdrücken?
So etwa
if (top = self) and document.referrer = "http://meineSeite.de"

So ähnlich?
So scheint es nicht zu funktionieren...
Ich kenn mich in Javascript nicht so gut aus, so hätte ich es in Visual Basic gemacht (;

Wenn ich schon mal dabei bin, ich habe ein Div. Wenn man mit der Maus über dieses fährt soll der Cursor sich zu einem auf meinem Webspace befindlichen verändern. Ich habe das ganze so versucht.
<div
onclick="location.href='http://IrgendeineUrl.de'; style="cursor:url(MeinCursor.cur), move;">
Geht nicht.

So geht es allerdings
<div onclick="location.href='meineUrl';" style="cursor: pointer;">
Das ist leider nicht mein eigener Cursor...
Edit: Ok das mit dem Cursor hab ich jetzt, die Anführungszeichen waren falsch gesetzt (;

Sephiroth
2010-12-17, 22:23:45
Danke,
und wie kann ich das ganze dann in Javascript ausdrücken?
So etwa
if (top = self) and document.referrer = "http://meineSeite.de"

So ähnlich?
So scheint es nicht zu funktionieren...
Ich kenn mich in Javascript nicht so gut aus, so hätte ich es in Visual Basic gemacht (;

Wenn ich schon mal dabei bin, ich habe ein Div. Wenn man mit der Maus über dieses fährt soll der Cursor sich zu einem auf meinem Webspace befindlichen verändern. Ich habe das ganze so versucht.

Geht nicht.

So geht es allerdings

Das ist leider nicht mein eigener Cursor...
Edit: Ok das mit dem Cursor hab ich jetzt, die Anführungszeichen waren falsch gesetzt (;
Ein = wird nur bei Wertzuweisungen verwendet, zwei == verwendet man um Gleichheit zu überprüfen.

Hilfe ich hab kein Plan von Javascript! (http://www.google.de/search?q=javascript+turorial)
Objektabfragen und Fallunterscheidungen in JavaScript (http://aktuell.de.selfhtml.org/artikel/javascript/objektabfragen/)



if (top == self && document.referrer == "http://www.google.de")
{
// was auch immer
}

http://de.selfhtml.org/javascript/beispiele/seitenanzeige.htm

Geldmann3
2010-12-17, 22:46:22
Hmmm
if (top == self && document.referrer == "http://www.google.de")
{
// was auch immer
}
Klappt nicht!
Kann es sein, dass document.referrer einfach wirklich die Seite hinterfragt, von der man kommt, auch wenn diese eingeframet war?

Gast
2010-12-20, 15:25:20
Hier is das eigentlich auch ganz nett erklärt

http://de.wikipedia.org/wiki/Referrer

Kann es sein, dass document.referrer einfach wirklich die Seite hinterfragt, von der man kommt, auch wenn diese eingeframet war? nein nicht unbedingt. im referer steht die uri, sofern die referer-funktion vom browser unterstützt wird (standardmäßig an) du kannst das ganz einfach mal selbst testen indem du einfach den referrer bzw. den inhalt einer referrer-variable auf einer seite ausgeben lässt oder auch im browser anzeigen lässt und auf deine eigene seite gehst. damit lässt sich das verhalten genau nachvollziehen bzw. s.o.