Andre Teige: Willkommensfenster??

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

  1. 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

    1. 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

      1. 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

  2. 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

    1. Und meine Ideen bitte direkt wieder vergessen - der Vorschlag in dem Link von Carsten ist viel besser als meine.

      Grüße,

      Utz

  3. 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