webForumDet fria alternativet

popup efter 2 min 1gång

6 svar · 205 visningar · startad av hakan@4u2.se

hakan@4u2.seMedlem sedan aug. 2000333 inlägg
#1

Skulle behöver ett script som startar en timer, efter 2 min så skall en popup öppnas.

Om sidan där scriptet ligger laddas om så skall inte timern börja om, utan fortsätta där han var typ

Har popupen kommit upp en gång skall den inte komma upp de närmaste 90 dagarna tex. (cookies)

Enklast är väl med cookies

Tack på förhand!

hakan@4u2.seMedlem sedan aug. 2000333 inlägg
#2

Här är mitt script jag använder nu, men laddar man om sidan börjar timern om, surt, man skulle kunna hämta hur långt han har kommit från en cookie??

<HTML>
<HEAD>
<SCRIPT LANGUAGE="JavaScript">
<!--
var up,down;var min1,sec1;var cmin1,csec1,cmin2,csec2;

// Cookie_Id = ett specifikt varde 
// Days_To_Expire = det antal dagar anvandaren är avstängd
var Cookie_Id = 21206,Days_To_Exp = 90;

var Cookie_Name;

function SetCookie()
{
  var ExpireDate;
  ExpireDate = new Date();
  ExpireDate.setDate(ExpireDate.getDate()+Days_To_Exp);
  document.cookie = Cookie_Name + "=" + escape(Cookie_Id) + ";expires=" + ExpireDate.toUTCString() + ";";
}

function CheckCookie()
{
  var aCookie = document.cookie.split(";");
  Cookie_Name = "hakan" + Cookie_Id;
  for (var i=0; i < aCookie.length; i++)
  {
    var aCrumb = aCookie[i].split("=");
    if (Cookie_Name == aCrumb[0])
    {
       // Om vi hittar en cookie, avsluta
       return null;
    } 
  }
  // Om vi inte hittar nagon cookie, satt en ny och trigga
   SetCookie();
  Up();
  return null;
}

function Minutes(data) 
  {
  for(var i=0;i<data.length;i++) 
    if(data.substring(i,i+1)==":") 
    break;  
  return(data.substring(0,i)); 
  }
function Seconds(data) 
  {        
  for(var i=0;i<data.length;i++) 
    if(data.substring(i,i+1)==":") 
    break;  
  return(data.substring(i+1,data.length)); 
  }
  
function Up() 
  { 
  cmin1=0;        
  csec1=0;        
  min1=0+Minutes('2:00'); /* här ändrar du - 0:05 innebär 5 sekunders fördröjning */
  sec1=0+Seconds('2:00'); /* samma skall stå på två ställen */
  UpRepeat();   
  }
  
function UpRepeat() 
  {   
  csec1++;        
  if(csec1==60) 
    {
    csec1=0; cmin1++; 
    }
 if((cmin1==min1)&&(csec1==sec1)) 
    {
    var win
   win=window.open('http://www.aftonbladet.se',"questions",'width=365,height=430,top=10,left=5,resizable=false,scrollbars=yes');     
    }
  else 
    up=setTimeout("UpRepeat()",1000); 
  }
//-->
</SCRIPT>

<TITLE>hakan</TITLE>
</HEAD>

<BODY onload="CheckCookie()">

</BODY>
</HTML>
Peter SMedlem sedan dec. 20025 483 inlägg
#3

Testa detta:

<script type="text/javascript">
<!--

function setCookie(){
	var today = new Date();
	today.setDate(today.getDate()+90);

	document.cookie = "isSet=true; expires="+ today.toUTCString() +"; path=/";
};

function checkCookie(){
	if(document.cookie.indexOf("isSet")!=-1)
		return;

	setCookie();
	window.setTimeout("showMyPopUp()", 120000);
};

window.onload = function(){
	checkCookie();
};

//-->
</script>

:)

hakan@4u2.seMedlem sedan aug. 2000333 inlägg
#4

Jag är mycket dålig på javascript så jag får inte igång det, det händer inget, jag måste lägga dit lite för att få en popup förstår jag.

Är det inte så?

Peter SMedlem sedan dec. 20025 483 inlägg
#5

Jag har lagt till funktionen "popUp()". I den kan du ändra vilken sida som skall visas, samt vilken höjd och bredd fönstret skall ha.

<script type="text/javascript">
<!--

function popUp(){
	window.open("http://www.aftonbladet.se", "", "height=300,width=300");
};

function setCookie(){
	var today = new Date();
	today.setDate(today.getDate()+90);

	document.cookie = "isSet=true; expires="+ today.toUTCString() +"; path=/";
};

function checkCookie(){
	if(document.cookie.indexOf("isSet")!=-1)
		return;

	setCookie();
	window.setTimeout("popUp()", 120000);
};

window.onload = function(){
	checkCookie();
};

//-->
</script>

:)

Peter SMedlem sedan dec. 20025 483 inlägg
#6

Om du vill kontrollera hur långt från vänster- respektive toppkanten fönstret skall hamna, samt om fönstret skall ha "scrollbars" kan du lägga till följande:

...width=300,height=300,left=100,top=100,scrollbars=yes

:)

Engine^Medlem sedan dec. 20003 887 inlägg
#7

Är det inte en bra ide att köra en clearTimeout() i SetCookie-funktionen istället?

Ibland blir det ju buggigt med Timeouts...

Bara en tanke.

130 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)