Willkommensfenster??
Andre Teige
- javascript
0 Carsten0 Andre Teige0 Carsten
0 Utz Grimminger0 Cheatah
Wie man ein Fenster öffnen lässt, wenn man eine Seite betritt, habe ich schon verwirklicht. Mit "....alert("Test");...." ghet ja soetwas. Nun ist aber mein Problem, das es eine Seite ist, von der ich weiterverlinke. Wenn man jetzt von diesen "Unterseiten" wieder zurück auf die Haupseite kommt, dann kommt die Meldung logischerweise auch wieder. Wie kann ich das verhindern??
Danke für die Tips
Andre
Hi Andre,
vielleicht hilft dir <82442.html> weiter ?
(nicht, das ich damit das lästige, ungefragte AUFPOPPEN gutheissen möchte. Derartige Webdesignerische
UNSITTEN sind ein Grund, warum bei meinem Browser JavaScript oft abgeschaltet ist.)
Gruss,
Carsten
Mhhhm, da kann ich leider nicht ganz folgen! Bin noch neu auf dem Gebiet. Es soll bloss so eine Box mit "Herzlich willkommen" aufgehen, und das nur beim ersten Besuch der Hauptseite.
Ich weiss leider nicht, was das mit der "www.deine-domain" zu tun haben soll. Verstehe ich es richtig, das bei Deinem Tip eine neue Seite aufgeht, oder wie?
Man verzeihe mir meine Unwissenheit.
Danke nochmal
Andre
Hi Andre,
etwas entrümpelt:
<script Language="JavaScript">
if(document.referrer.toLowerCase().indexOf('http://www.deine.domain.de')<0)
alert("Guten Morgen");
</script>
statt "http://www.deine-domain.de" setzt du den Namen deines Providers ein, also z.b.
"www.fortunecity.de" oder "www.andre-teige.de".
und aufgedröselt:
document.referrer <../../tecbb.htm#a10> sagt _von_woher_der Besucher auf diese Seite kommt
(das ist der Trick: von innerhalb deiner Seite = nix begrüssen, sonst begrüssen)
toLowerCase() <../../tecl.htm#a29> wandelt die URL in Kleinbuchstaben, falls irgendwas darin
gross sein sollte. (Bei allem von http:// bis zum ersten / ist gross/KLEIN egal)
indexOf() <../../tecl.htm#a14> sucht das vorkommen einer Zeichenkette in einer anderen
<0 genaugenommen -1 heisst das sie nicht gefunden wurde.
So richtig IMMER funktioniert das übrigens nicht, solange du mit den LINKS auf deiner Seite hin und
herspringst ist alles palleti, aber wehe du nimmst den Zurückbutton. (Ausprobieren!)
alles klar ?
Carsten
Hi Andre,
das geht im Prinzip über eine Variable, die nur beim ersten Aufruf das Alert-Fenster öffnet. Etwa so:
var zahl = 0;
function meldung()
{
zahl = zahl + 1;
if(zahl == 1)
alert("...text...");
}
Beim ersten Aufruf von meldung() wird zahl auf 1 gesetzt und das Alert-Fenster wird geöffnet. Bei jedem weiteren ist zahl < 1, also kein Alert-Fenster mehr.
Problem: Beim Verlassen der Seite verlierst Du die Variable. Du müsstest also noch etwas einbauen, dass die Variable mitnimmt - über die URL, den Window-Namen, ein Frameset (dazu gibt's in der Forumsauslese was...)
Alternative: Du speiherst Deine Startseite unter zwei verschiedenen Namen, z.B. index.htm und index1.htm - die sind identisch, außer dass index1.htm das Script für das Alert-Fenster nicht enthält. Beim Eintippen der URL wird index.htm erreicht - mit Alert. Jeder Link "zurück zur Homepage" auf Deiner Seite führt aber zu index1.htm - nach außen hin identisch, aber ohne Alert-Script.
Vorteil: Du musst die Variable nicht mitschleppen. Nachteil: wenn jemand über den Back-Button zurück auf index.htm kommt und nicht über die Links, ist es dann doch wieder da.
Grüße,
Utz
Und meine Ideen bitte direkt wieder vergessen - der Vorschlag in dem Link von Carsten ist viel besser als meine.
Grüße,
Utz
Hi,
Wenn man jetzt von diesen "Unterseiten" wieder zurück auf die Haupseite kommt, dann kommt die Meldung logischerweise auch wieder. Wie kann ich das verhindern??
da der Referrer nichts gegen den Back-Button machen kann: Mit einem Frameset. Alternativ kannst Du auch window.name auf einen Wert setzen, der besagt, daß das Fenster schon aufgegangen ist; das kann aber bisweilen zu unschönen Effekten führen, wenn Du Links mit einem target hast.
Cheatah