Intelligente Intro-Seite

Scripting-Tipps - JavaScript


Mit JavaScript besteht die Möglichkeit, dass Sie eine beliebige Introseite Ihren Besuchern immer nur einmal anzeigen. Dies geschieht mit Hilfe eines Cookies, das bei Ihrem Besucher gesetzt wird. Ruft jemand Ihre Seite zum ersten mal auf, wird ihm die Intro-Seite angezeigt. Besucht die gleiche Person Ihre Seite später noch einmal, gelangt er direkt auf Ihre Startseite, ohne sich das Intro noch einmal ansehen zu müssen.

Das folgende Script muss in den <head>...</head>-Bereich Ihrer Introseite stehen. An Ihrer Startseite muss nichts geändert werden.

Beispiel:

<script language="Javascript">
<!--
var Dauer = 43200; // Gültigkeit des Cookies in Sekunden
var Seite = "index2.htm"; // Seite, auf die weitergeleitet werden soll


function CookieLesen(name)
{
    var arg = name + "=";
    var alen = arg.length;
    var clen = document.cookie.length;
    var i = 0;

    while (i < clen)
    {
        var j = i + alen;

        if (document.cookie.substring(i, j) == arg)
        {
            return CookieEinlesen (j);
        }

        i = document.cookie.indexOf(" ", i) + 1;

        if (i == 0)
        {
            break;
        }
    }

    return null;
}


function CookieSetzen(name, value)
{
    var argv = CookieSetzen.arguments;
    var argc = CookieSetzen.arguments.length;
    var expires = (argc > 2) ? argv[2] : null;
    var path = (argc > 3) ? argv[3] : null;
    var domain = (argc > 4) ? argv[4] : null;
    var secure = (argc > 5) ? argv[5] : false;
    document.cookie = name + "=" + escape (value) + ((expires == null) ? "" : ("; expires=" + expires.toGMTString())) + ((path == null) ? "" : ("; path=" + path)) + ((domain == null) ? "" : ("; domain=" + domain)) + ((secure == true) ? "; secure" : "");
}


function CookieLoeschen(name)
{
    var exp = new Date();
    exp.setTime(exp.getTime() - 1);
    var cval = CookieLesen (name);
    document.cookie = name + "=" + cval + "; expires=" + exp.toGMTString();
}


var exp = new Date();
exp.setTime(exp.getTime() + (Dauer*1000));


function CookieEinlesen(offset)
{
    var endstr = document.cookie.indexOf (";", offset);

    if (endstr == -1)
    {
        endstr = document.cookie.length;
    }

    return unescape(document.cookie.substring(offset, endstr));
}


function Check()
{
    var count = CookieLesen('CheckIntro');

    if (count == null)
    {
        count = 1;
        CookieSetzen('CheckIntro', count, exp);
    }
    else
    {
        count++;
        CookieSetzen('CheckIntro', count, exp);
        window.location.href = Seite;
    }
}
//-->
</script>


Hinweis:
Die beiden Variablen var Dauer und var Seite können Sie natürlich beliebig anpassen. In diesem Beispiel würde das Cookie eine Gültigkeit von 30 Tagen haben (60 x 24 x 30 Sekunden). Außerdem würde auf die Seite index2.htm verwiesen werden.





Weitere Artikel: