Jojoxx.net

 

 

AnvändareAnvändare
Besökare just nu: 87
SnabblänkarSnabblänkar
JavaScript-arkivet
Perl
FAQ
Sök på Jojoxx.netSök på Jojoxx.net



Exekvera funktion 1 gång / dag/månad/år

Exempel

Kod


<script type="text/javascript">
/* Detta script finns att hämta på http://www.jojoxx.net och
   får användas fritt så länge som dessa rader står kvar. */

once('alert("Hej");','hejruta','10 sec');

function once(command,id,interval){
	var mul = interval.substring(0,interval.indexOf(" "));
	mul = parseInt(mul);
	interval = interval.substring(interval.lastIndexOf(" ")+1,interval.length);
	if (interval == "sec"){ e = 1000; }
	else if (interval == "min"){ e = 60000; }
	else if (interval == "hour"){ e = 3600000; }
	else if (interval == "days"){ e = 86400000; }
	e = e * mul;
	var now = new Date();
	var ex = new Date();
	ex.setTime(now.getTime() + e);
	if (!getCookie(id)){
		eval(command);
		setCookie(id,"1",ex);
	}
}
function setCookie(name, value, expire){
	document.cookie = name + "=" + escape(value) + ((expire ==null) ? "" : ("; expires=" + expire.toGMTString()));
}
function getCookie(Name){
	var search = Name + "=";
	if (document.cookie.length > 0){
		offset = document.cookie.indexOf(search);
		if (offset != -1){
			offset += search.length;
			end = document.cookie.indexOf(";", offset);
			if (end == -1) {
				end = document.cookie.length;
			}
			return unescape(document.cookie.substring(offset, end));
		} else {
			return "";
		}
	} else {
		return "";
	}
}
</script>

Kommentar

Scriptet anropar funktionen once() med ett kommando som första argument. Det andra argumentet är id-namnet på ditt kommando och det tredje argumentet är intervallet som bestämmer hur ofta kommandot skall få utföras. Har kommandot utförts inom det intervall som är angivet händer ingenting. Med hjälp av detta kan du få en popup-ruta att bara dyka upp som oftast en gång om året genom att ange intervallet "365 days". I exemplet används 10 sekunder, gör du en reload på sidan inom den tiden kommer ingenting att hända, efter det kommer popup-rutan upp igen.


,