Avatar billede jthyge Seniormester
16. september 2003 - 17:06 Der er 11 kommentarer og
1 løsning

Popup vindue hver 20. min?

Er det muligt at lave dette script om så popup vinduet kommer igen efter 20 min?

<script language="JavaScript">
<!--
var expDays = 1; // number of days the cookie should last

var page = "poll.php";
var windowprops = "width=400,height=225,location=no,toolbar=no,menubar=no,scrollbars=no,resizable=yes";

function GetCookie (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 getCookieVal (j);   
i = document.cookie.indexOf(" ", i) + 1;   
if (i == 0) break; 

return null;
}
function SetCookie (name, value) { 
var argv = SetCookie.arguments; 
var argc = SetCookie.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 DeleteCookie (name) { 
var exp = new Date(); 
exp.setTime (exp.getTime() - 1); 
var cval = GetCookie (name); 
document.cookie = name + "=" + cval + "; expires=" + exp.toGMTString();
}
var exp = new Date();
exp.setTime(exp.getTime() + (expDays*24*60*60*1000));
function amt(){
var count = GetCookie('count')
if(count == null) {
SetCookie('count','1')
return 1
}
else {
var newcount = parseInt(count) + 1;
DeleteCookie('count')
SetCookie('count',newcount,exp)
return count
  }
}
function getCookieVal(offset) {
var endstr = document.cookie.indexOf (";", offset);
if (endstr == -1)
endstr = document.cookie.length;
return unescape(document.cookie.substring(offset, endstr));
}

function checkCount() {
var count = GetCookie('count');
if (count == null) {
count=1;
SetCookie('count', count, exp);

window.open(page, "", windowprops);

}
else {
count++;
SetCookie('count', count, exp);
  }
}
// -->
</script>
Avatar billede roenving Novice
16. september 2003 - 18:25 #1
function checkCount() {
window.open(page, "", windowprops);

setTimeout('checkCount()',20000);
}
Avatar billede jthyge Seniormester
16. september 2003 - 18:34 #2
Skal det bare indsættes i stedet for

function checkCount() {
var count = GetCookie('count');
if (count == null) {
count=1;
SetCookie('count', count, exp);

window.open(page, "", windowprops);

}
Avatar billede roenving Novice
16. september 2003 - 18:38 #3
Du behøver slet ikke din cookie, hvis du bruger den der, så det er hele den funktion du behøver i stedet for _alt sammen_ !-)

-- du skal bare een gang kalde funktionen, f.eks. onload, så vil den komme igen hvert 20. minut, sålænge siden er åben !o]
Avatar billede jthyge Seniormester
16. september 2003 - 18:45 #4
Jeg er ikke lige så skarp...
Men noget i denne stil?
<head>
<script language="JavaScript">
<!--
function checkCount() {
window.open(, "poll.php", windowprops);

setTimeout('checkCount()',20000);
}
// -->
</script>
</head>
<body onLoad="checkCount()">
Avatar billede roenving Novice
16. september 2003 - 18:51 #5
Præcis, ja !-)

-- eller måske:

<body onLoad="setTimeout('checkCount()',20000)">
Avatar billede jthyge Seniormester
16. september 2003 - 19:35 #6
Hmm... Kan ikke rigtigt få det det at virke!

Popup vinduet kommer også når man kommer ind på side ikke?
Avatar billede jthyge Seniormester
16. september 2003 - 20:08 #7
Hmm.... Jeg tror egenligt ikke helt du har forstået spørgsmålet rigtigt! :-)

Det jeg skal er...

Når man kommer ind på siden skal der kommet et popup vindue frem.

Men det skal ikke komme frem hver gang man kommer ind på forsiden, derfor er jeg ude efter at det ikke kommer frem i 20 min.
Avatar billede roenving Novice
16. september 2003 - 22:57 #8
Prøv med (jeg har ikke helt gennemskuet, hvordan koden sparkes igang !-)

Denne:
var expDays = 1; // number of days the cookie should last

rettes til
var expMins = 20; // number of minutes

og
exp.setTime(exp.getTime() + (expDays*24*60*60*1000));

rettes til:
exp.setTime(exp.getTime() + (expMins*60*1000));


-- og det jeg ikke kan gennemskue er, hvor amt kaldes ?-)
Avatar billede jthyge Seniormester
16. september 2003 - 23:02 #9
Prøver lige... Den kaldes sådan
<body onLoad="checkCount()">
Avatar billede jthyge Seniormester
16. september 2003 - 23:07 #10
Jamen det virker jo perfekt... Lige efter planen!

Tak for det, smid et svar for points. :-)
Avatar billede roenving Novice
16. september 2003 - 23:10 #11
Velbekomme '-)
Avatar billede roenving Novice
16. september 2003 - 23:16 #12
-- og tak for points ;~}
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester