PopUp-Script

fuctis

Gesperrt
Habe folgende Cookie-Script gefunden um ein PopUp nur einmal pro Besucher in einem bestimmten Zeitraum zustarten:

Code:
<script language="Javascript">
<!--
var Dauer = 600; // in Sekunden
 
var Seite = "popup.html";
var Fensteroptionen = "width=350,height=350,location=no,toolbar=no,menubar=no,scrollbars
=no,resizable=no";
 
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 PopUpCheck()
{
    var count = CookieLesen('PopUp');
 
    if (count == null)
    {
        count = 1;
        CookieSetzen('PopUp', count, exp);
        window.open(Seite, "", Fensteroptionen);
    }
    else
    {
        count++;
        CookieSetzen('PopUp', count, exp);
    }
}
//-->
</script>

Allerdings wird dort das PopUp mit der Variable Seite="popup.html" gestartet. Ich will aber anstatt der html-Adresse folgendes script öffnen lassen:

Code:
document.write(unescape('%3Cscript%20src%3D%27http%3A//www.advertising-department.com/ats/switch.smrt.php%3F26112%27%3E%3C/script%3E'));

Wie und wo muss ich in dem cookie-script mein document.write-script einfügen?

Vielen Dank!
 
Dann können doch in dem Cookie Script diese beiden Variablen wegfallen:

Code:
var Seite = "popup.html";
var Fensteroptionen = "width=350,height=350,location=no,toolbar=no,menubar=no,scrollbars
=no,resizable=no";

Oder?!

Das Script müsste dann wie folgt aussehen?

Code:
<script language="Javascript">
<!--
var Dauer = 600; // in Sekunden
 
var Seite = "popup.html";
var Fensteroptionen = "width=350,height=350,location=no,toolbar=no,menubar=no,scrollbars
=no,resizable=no";
 
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 PopUpCheck()
{
    var count = CookieLesen('PopUp');
 
    if (count == null)
    {
        count = 1;
        CookieSetzen('PopUp', count, exp);
        document.write(unescape('%3Cscript%20src%3D%27http%3A//www.advertising-department.com/ats/switch.smrt.php%3F26112%27%3E%3C/script%3E'));
    }
    else
    {
        count++;
        CookieSetzen('PopUp', count, exp);
    }
}
//-->
</script>

Habe das Script mal in folgende Testseite eingefügt, aber leider öffnet sich das Popup nicht:

http://www.fuctis.com/testseite.html

Woran könnte der Fehler liegen?
 
fuctis hat gesagt.:
Dann können doch in dem Cookie Script diese beiden Variablen wegfallen:

Code:
var Seite = "popup.html";
var Fensteroptionen = "width=350,height=350,location=no,toolbar=no,menubar=no,scrollbars
=no,resizable=no";

Jo...können sie, denn diese erzeugen einen JS-Fehler :-)

Ansonsten: du darfst das ganze nicht erst beim onload azfrufen...sonst wird das Dokument durch die write()-Anweisung komplett überschrieben.
 
:-) das sagst du so einfach! wie kann ich denn die funktion aufrufen? hast du einen tipp für mich! bitte! :-) hab echt nicht so die ahnung von java script. ist schon eine schwere sache.
 
:-)
Ganz einfach...notiere den Namen der Funktion am Ende des Skriptes
Code:
PopUpCheck()
Es wäre übrigens gut, wenn du das anze Skript ans Ende des Dokuments verfrachtest...in dem eingebundenen Skript wird auf document.body zugegriffen...das ist im <head> noch nicht bekannt.
 
PopUpCheck() mmmh!? :-) habe das an das Ende des Scriptes eingefügt
und jetzt funktioniert es! Sehr schön! Du bist wirklich der Beste

Danke schön!
 

Neue Beiträge

Zurück