Hirdetés

Tartalom figyelmeztető Javascript popup dokumentációja

Javascript popupot kellett készíteni egy felnőtt tartalmú oldalhoz.
Elvárások voltak, hogy ugorjon fel a popup, ha a felhasználó még nem fogadta el, hogy mindenféleképp látni akarja a tartalmat, ha nem akarja látni, akkor a "NEM" link megnyomásaval irányítson el az oldalról, mondjuk a Minimax oldalára, de ha vissza látogat, akkor újra dobja fel neki a popupot, egészen addig, amíg ki nem nyílvánítja az "IGEN" linkel a tartalom megtekintési szándékát.

A popup megjelenítéséhez az alábbi (popup.php) javascript popupot használtam. Igen, PHP a kiterjesztés, mert az éles verzióban php kódok is lesznek, a prototípusban csak html és javascript van.
Eredetileg nem volt meg benne a lehetőség, hogy megadjuk a választási lehetőséget a felhasználónak az IGEN / NEM választásra, mivel ez egy reklám popup volt, kiskorában :D Így erre nem is volt szükség, csak a popup bezáró gombra. A cookie létrejött a popup.php fájlban megadott lejárati dátummal az oldal betöltésekor, amit szabályozni lehettett script oldalon.

A popup.php -ben lévő script az oldal betöltésekor az eredeti minta popuptól eltérően létrehoz egy "ft-cookie" nevű cookie-t ami rögtön érvénytelen is lesz, mert a lejárati ideje 1970. Január 1. Így mivel a cookie érvénytelen a popup megjelenik. A felhasználó az IGEN linkkel (A prototípusban a SET A COOKIE AND CLOSE linkel) létrehoz egy 1 napos lejáratú ft-cookie nevű cookie-t (magyarul sütinek nevezik), így a popup a süti lejártáig nem jelenik meg. (Itt lehetne például a session erejéig is megadni a süti élettartamát). A NEM linkre kattintva az 1970-es lejáratú süti íródik újra a felhasználó gépére és elirányítja egy mesecsatorna oldalára (A prototípusban DELETE COOKIE AND GO TO MINIMAX link van). Ha így látogat vissza az oldalra, a popup továbbra is megjelenik neki.

A popup.php tartalma:
<html>
<head>

<style type="text/css">
#interContainer{position:absolute;width:749px;left:0;top:0;padding:0px;background-color:transparent;visibility:hidden;z-index:6;}
#interContainer
.headerbar{background-color:transparent;padding:0px;text-align:right;}
#interContainer .headerbar a{text-decoration:none;}
#interContent{text-align:left;background-color:white;padding:5px;border:3px solid #000;-webkit-border-radius: 10px;-moz-border-radius: 10px;border-radius: 10px;}
#interContent #submit{border:0;}
#interVeil{position:absolute;background: #DF0101 ;right:0;width:10px;top:0;z-index:5;visibility:hidden;filter:progid:DXImageTransform.Microsoft.alpha(opacity=70);opacity:.7;}
#interContainer{margin:0;padding:0;}
</style>

<script type="text/javascript">
var interstitialBox={
//1) Ide írod a tartalmat, ami a POPUPBA kell!
displayfiles: ['popupcontent.html', 'popupcontent.html'],

//2) Frekvencia típus és érték
displayfrequency: ["cookie", "24"],

//3) HTML box definiálása
defineheader: '<div class="headerbar"><a href="#" onClick="javascript:interstitialBox.closeit(); return false"><img src="closebox.png" alt="" width="30" height="30" border="0" /></a></div>',

//4) Süti beállítás (név és elérés)
cookiesetting: ["ft-cookie", "path=/"],

//5) bust caching
ajaxbustcache: true,

//6) Scrollbarok letiltása (Böngésző függő lehet)
disablescrollbars: true,

//7) Automatikus elrejtés, ha kell (0 = kikapcsolva)
autohidetimer: 0,

////Ezt itt ne nagyon piszkáld///

ie7: window.XMLHttpRequest && document.all && !window.opera,
ie7offline: this.ie7 && window.location.href.indexOf("http")==-1, //IE7 ellenőrzés
launch:false,
scrollbarwidth: 16,

ajaxconnect:function(url, thediv){
var page_request = false
var bustcacheparameter=""
if (window.XMLHttpRequest && !this.ie7offline) // Ha Mozzilla, IE7, Szafari, stb
page_request = new XMLHttpRequest()
else if (window.ActiveXObject){ // ha IE6
try {
page_request = new ActiveXObject("Msxml2.XMLHTTP")
}
catch (e){
try{
page_request = new ActiveXObject("Microsoft.XMLHTTP")
}
catch (e){}
}
}
else
return false
page_request.onreadystatechange=function(){
interstitialBox.loadpage(page_request, thediv)
}
if (this.ajaxbustcache) //ha bust caching külső lap
bustcacheparameter=(url.indexOf("?")!=-1)? "&"+new Date().getTime() : "?"+new Date().getTime()
page_request.open('GET', url+bustcacheparameter, true)
page_request.send(null)
},

loadpage:function(page_request, thediv){
if (page_request.readyState == 4 && (page_request.status==200 || window.location.href.indexOf("http")==-1)){
document.getElementById("interContent").innerHTML=page_request.responseText
}
},

createcontainer:function(){
//write out entire HTML for Interstitial Box:
document.write('<div id="interContainer">'+this.defineheader+'<div id="interContent"></div></div><div id="interVeil"></div>')
this.interContainer=document.getElementById("interContainer") //reference interstitial container
this.interVeil=document.getElementById("interVeil") //reference veil
this.standardbody=(document.compatMode=="CSS1Compat")? document.documentElement : document.body //create reference to common "body" across doctypes
},


showdelay:1,

showcontainer:function(){
if (this.interContainer.style.display=="none") return //if interstitial box has already closed, just exit (window.onresize event triggers function)
var ie=document.all && !window.opera
var dom=document.getElementById
var scroll_top=(ie)? this.standardbody.scrollTop : window.pageYOffset
var scroll_left=(ie)? this.standardbody.scrollLeft : window.pageXOffset
var docwidth=(ie)? this.standardbody.clientWidth : window.innerWidth-this.scrollbarwidth
var docheight=(ie)? this.standardbody.clientHeight: window.innerHeight
var docheightcomplete=(this.standardbody.offsetHeight>this.standardbody.scrollHeight)? this.standardbody.offsetHeight : this.standardbody.scrollHeight
var objwidth=this.interContainer.offsetWidth
var objheight=this.interContainer.offsetHeight
this.interVeil.style.width=docwidth+"px" //set up veil over page
this.interVeil.style.height=docheightcomplete+"px" //set up veil over page
this.interVeil.style.left=0 //Position veil over page
this.interVeil.style.top=0 //Position veil over page
this.interContainer.style.left=docwidth/2-objwidth/2+"px" //Position interstitial box
var topposition=(docheight>objheight)? scroll_top+docheight/2-objheight/2+"px" : scroll_top+5+"px" //Position interstitial box
this.interContainer.style.top=Math.floor(parseInt(topposition))+"px"
if (this.autohidetimer && parseInt(this.autohidetimer)>0 && typeof this.timervar=="undefined")
this.timervar=setTimeout("interstitialBox.closeit()", this.autohidetimer*1000)
var oop=this;
setTimeout(function(){
oop.interVeil.style.visibility="visible" //Show veil over page
oop.interContainer.style.visibility="visible" //Show interstitial box
},oop.showdelay);
},

closeit:function(){
this.interVeil.style.display="none"
this.interContainer.style.display="none"
if (this.disablescrollbars && window.XMLHttpRequest) //if disablescrollbars enabled and modern browsers- IE7, Firefox, Safari, Opera 8+ etc
this.standardbody.style.overflow="auto"
if (typeof this.timervar!="undefined") clearTimeout(this.timervar)
},

getscrollbarwidth:function(){
var scrollbarwidth=window.innerWidth-(this.interVeil.offsetLeft+this.interVeil.offsetWidth) //
this.scrollbarwidth=(typeof scrollbarwidth=="number")? scrollbarwidth : this.scrollbarwidth
},

hidescrollbar:function(){
if (this.disablescrollbars){ //if disablescrollbars enabled
if (window.XMLHttpRequest) //if modern browsers- IE7, Firefox, Safari, Opera 8+ etc
this.standardbody.style.overflow="hidden"
else //if IE6 and below, just scroll to top of page to ensure interstitial is in focus
window.scrollTo(0,0)
}
},

dotask:function(target, functionref, tasktype){ //assign a function to execute to an event handler (ie: onunload)
var tasktype=(window.addEventListener)? tasktype : "on"+tasktype
if (target.addEventListener)
target.addEventListener(tasktype, functionref, false)
else if (target.attachEvent)
target.attachEvent(tasktype, functionref)
},

initialize:function(){
this.createcontainer() //write out interstitial container
this.ajaxconnect(this.displayfiles[Math.floor(Math.random()*this.displayfiles.length)], this.interContainer) //load page into content via ajax
this.dotask(window, function(){interstitialBox.hidescrollbar(); interstitialBox.getscrollbarwidth(); setTimeout("interstitialBox.showcontainer()", 100)}, "load")
this.dotask(window, function(){interstitialBox.showcontainer()}, "resize")
}
}

/////////////End of interstitialBox object declaration here ////////////////////////////////



function getCookie(Name){
var re=new RegExp(Name+"=[^;]+", "i"); //construct RE to search for target name/value pair
if (document.cookie.match(re)) //if cookie found
return document.cookie.match(re)[0].split("=")[1] //return its value
return null
}


function setCookie(name, value, hours){
var expireDate = new Date()
//set "expstring" to either an explicit date (past or future)
if (typeof hours!="undefined"){ //if set persistent cookie
// var expstring=expireDate.setHours(expireDate.getHours()+parseInt(hours))
document.cookie = 'ft-cookie' +'=; Path=/; Expires=Thu, 01 Jan 1970 00:00:01 GMT;';
// document.cookie = name+"="+value+"; expires="+expireDate.toGMTString()+"; "+interstitialBox.cookiesetting[1]
}
else //else if this is a session only cookie setting
document.cookie = name+"="+value+"; "+interstitialBox.cookiesetting[1]
}


var stitialvars=new Object() //temporary object to reference/ shorthand certain interstitialBox properties
stitialvars.freqtype=interstitialBox.displayfrequency[0] //"chance" or "cookie"
stitialvars.cookieduration=interstitialBox.displayfrequency[1] //"session" or int (integer specifying number of days)
stitialvars.cookiename=interstitialBox.cookiesetting[0] //name of cookie to use


if (stitialvars.freqtype=="chance"){ //IF CHANCE MODE
if (Math.floor(Math.random()*interstitialBox.displayfrequency[1])==0)
interstitialBox.launch=true
}
else if (stitialvars.freqtype=="cookie" && stitialvars.cookieduration=="session"){ //IF "SESSION COOKIE" MODE
if (getCookie(stitialvars.cookiename+"_s")==null){ //if session cookie is empty
setCookie(stitialvars.cookiename+"_s", "loaded")
interstitialBox.launch=true
}
}
else if (stitialvars.freqtype=="cookie" && typeof parseInt(stitialvars.cookieduration)=="number"){ //IF "PERSISTENT COOKIE" MODE
if (getCookie(stitialvars.cookiename)==null || parseInt(getCookie(stitialvars.cookiename))!=parseInt(stitialvars.cookieduration)){ //if persistent cookie is empty or admin has changed number of days to persist from that of the stored value (meaning, reset it)
setCookie(stitialvars.cookiename, stitialvars.cookieduration, stitialvars.cookieduration)
interstitialBox.launch=true
}
}

if (interstitialBox.launch)
interstitialBox.initialize()




function alertCookie(name) {
alert(document.cookie);
}


function setACookie() {
var now = new Date();
var time = now.getTime();
var expireTime = time + 1000*86400;
now.setTime(expireTime);
var tempExp = 'Wed, 31 Oct 2012 08:50:17 GMT';
document.cookie = 'ft-cookie=24 - '+now.toGMTString()+';expires='+now.toGMTString()+';path=/';
//console.log(document.cookie);
}

// Ez a kód azt csinálja hogy átírja a cookie-t. A lejárati dátumát 1970. Január 1 00:00 Csütörtökre állítja. Így egyből érvénytelen lesz.
function delete_cookie(name) {
document.cookie = 'ft-cookie' +'=Thu, 01 Jan 1970 00:00:01 GMT - Ervenytelen; Path=/; Expires=Thu, 01 Jan 1970 00:00:01 GMT;';
}

</script>




</head>

<body>

<a href="#" onClick="setACookie()">SET A COOKIE - SET 1 DAY EXP COOKIE</a>

- - - -

<a href="#" onclick="delete_cookie()">DELETE COOKIE (CREATE A 1970 EXP VALUE COOKIE)</a>

- - - - - - - -

<button onclick="alertCookie()">Show cookies</button>
- - - - - - - -
<br />

TARTALOM --- TARTALOM --- TARTALOM ---
......


</body>
</html>

Hirdetés

Ehhez a tartozik egy popupcontent.html ami a popup tartalmát fogja adni. A popup.php-ben a
displayfiles: [popupcontent.html', 'popupcontent.html'], sorral hivatkozunk rá.
A neve megváltoztatható, ekkor itt is át kell írni.

A popupcontent.html tartalma:

<html>
<head>

</head>

<body >

<br />
FIGYELEM !
<br />
OLYAN TARTALMAT KÉSZÜL MEGTEKINTENI, AMI 18 ÉVEN ALULIAKNAK NEM AJÁNLOTT!
<br />
BIZTOS ÖN EBBEN?
<br />
<button onclick="alertCookie()">Show cookies</button>
- - - - - - - -

<a href="#" onClick="setACookie()">SET A COOKIE</a>
- - - -

<a href="#" onClick="setACookie();javascript:interstitialBox.closeit();">SET A COOKIE AND CLOSE</a>
- - - -

<a href="#" onclick="delete_cookie()">DELETE COOKIE</a>

- - - - - - - -
<a href="http://minimax.hu" onclick="delete_cookie()">DELETE COOKIE AND GO TO MINIMAX</a>

- - - - - - - -




<a href="#" onClick="javascript:interstitialBox.closeit(); return false">CLOSE POPUP</a>
- - - -

<br />

<br />

</body>
</html>

Látható, hogy a figyelmeztető szöveg mellett több link is van ebben a prototípusban.

<a href="#" onClick="javascript:interstitialBox.closeit(); return false">CLOSE POPUP</a>

Ez egyszerűen bezárja a popup ablakát, nem csinál süti műveletet.

<a href="#" onClick="setACookie()">SET A COOKIE</a>

Ez létrehoz egy ft-cookie nevű cookiet, ami 1 napos lejáratú lesz, a popup.phpben ez a sor tartozik hozzá:
function setACookie() {
var now = new Date();
var time = now.getTime();
var expireTime = time + 1000*86400;
now.setTime(expireTime);
var tempExp = 'Wed, 31 Oct 2012 08:50:17 GMT';
document.cookie = 'ft-cookie=24 - '+now.toGMTString()+';expires='+now.toGMTString()+';path=/';
//console.log(document.cookie);
}

<a href="#" onClick="setACookie();javascript:interstitialBox.closeit();">SET A COOKIE AND CLOSE</a>

Ez ugyan az, mint az előző, kombinálva a popup bezárással. Ez is a setACookie() funkcióra fog hivatkozni a popup.php-ban. Tulajdonképpen az éles verzióban ez fogja jelenteni az IGEN gombot. Az user rákattint és létrejön a sütije és egy napig nem ugrik fel neki a figyelmeztetés újból.

<a href="#" onclick="delete_cookie()">DELETE COOKIE</a>

Ez tulajdonképpen törli a sütit. Vagyis inkább érvényteleníti azt. Mivel egy 1970-es lejáratú sütit hoz létre, felülírva az eredeti sütit, akármi legyen benne.
A function delete_cookie(name) { document.cookie = 'ft-cookie' +'=Thu, 01 Jan 1970 00:00:01 GMT - Ervenytelen; Path=/; Expires=Thu, 01 Jan 1970 00:00:01 GMT;'; } sor tartozik hozzá a popup.php-ben.

<a href="http://minimax.hu" onclick="delete_cookie()">DELETE COOKIE AND GO TO MINIMAX</a>

Ez is ugyanaz mint az előző, csak a minimax oldalára navigálja a felhasználót, miután beállította a sütit 1970-es lejáratúra.
Az éles verzióban ez fogja jelelenteni a NEM gombot, amikoris a felhasználó nem akarja megnyitni a tartalmat.

<button onclick="alertCookie()">Show cookies</button>

Ez egy gomb, ami megjeleníti egy riasztási ablakban, hogy él e az 1 napos süti. Csak a prototípushoz kellett.

Ezek a linkek a prototípusban bekerültek a tartalmi oldalra is a tesztelés végett.

Ha ki szeretnéd próbálni, akkor egy bármilyen nevezetű .html kiterjesztésű fájlba írd bele a popup.php tartalmát, illetve popupcontent.html-be is tedd bele a fenti hozzátartozó kódot és futtasd a tárhelyeden vagy szervereden vagy akár a saját gépeden.

Így néz ki a prototípus a böngészőben:

Az alap popup tartalma ez volt:

<html>
<head>

<style type="text/css">
#interContainer{position:absolute;width:749px;left:0;top:0;padding:0px;background-color:transparent;visibility:hidden;z-index:6;}
#interContainer
.headerbar{background-color:transparent;padding:0px;text-align:right;}
#interContainer .headerbar a{text-decoration:none;}
#interContent{text-align:left;background-color:white;padding:5px;border:3px solid #000;-webkit-border-radius: 10px;-moz-border-radius: 10px;border-radius: 10px;}
#interContent #submit{border:0;}
#interVeil{position:absolute;background: #e31515;right:0;width:10px;top:0;z-index:5;visibility:hidden;filter:progid:DXImageTransform.Microsoft.alpha(opacity=70);opacity:.8;}
#interContainer{margin:0;padding:0;}
</style>

<script type="text/javascript">
var interstitialBox={
//1) Ide írod a tartalmat, ami a POPUPBA kell!
displayfiles: ['adat.html', 'adat.html'],

//2) Frekvencia típus és érték
displayfrequency: ["cookie", "1"],

//3) HTML box definiálása
defineheader: '<div class="headerbar"><a href="#" onClick="javascript:interstitialBox.closeit(); return false"><img src="closebox.png" alt="" width="30" height="30" border="0" /></a></div>',

//4) Süti beállítás (név és elérés)
cookiesetting: ["displaycookie-1-ora", "path=/"],

//5) bust caching
ajaxbustcache: true,

//6) Scrollbarok letiltása (Böngésző függő lehet)
disablescrollbars: true,

//7) Automatikus elrejtés, ha kell (0 = kikapcsolva)
autohidetimer: 0,

////Ezt itt ne nagyon piszkáld///

ie7: window.XMLHttpRequest && document.all && !window.opera,
ie7offline: this.ie7 && window.location.href.indexOf("http")==-1, //IE7 ellenőrzés
launch:false,
scrollbarwidth: 16,

ajaxconnect:function(url, thediv){
var page_request = false
var bustcacheparameter=""
if (window.XMLHttpRequest && !this.ie7offline) // Ha Mozzilla, IE7, Szafari, stb
page_request = new XMLHttpRequest()
else if (window.ActiveXObject){ // ha IE6
try {
page_request = new ActiveXObject("Msxml2.XMLHTTP")
}
catch (e){
try{
page_request = new ActiveXObject("Microsoft.XMLHTTP")
}
catch (e){}
}
}
else
return false
page_request.onreadystatechange=function(){
interstitialBox.loadpage(page_request, thediv)
}
if (this.ajaxbustcache) //ha bust caching külső lap
bustcacheparameter=(url.indexOf("?")!=-1)? "&"+new Date().getTime() : "?"+new Date().getTime()
page_request.open('GET', url+bustcacheparameter, true)
page_request.send(null)
},

loadpage:function(page_request, thediv){
if (page_request.readyState == 4 && (page_request.status==200 || window.location.href.indexOf("http")==-1)){
document.getElementById("interContent").innerHTML=page_request.responseText
}
},

createcontainer:function(){
//write out entire HTML for Interstitial Box:
document.write('<div id="interContainer">'+this.defineheader+'<div id="interContent"></div></div><div id="interVeil"></div>')
this.interContainer=document.getElementById("interContainer") //reference interstitial container
this.interVeil=document.getElementById("interVeil") //reference veil
this.standardbody=(document.compatMode=="CSS1Compat")? document.documentElement : document.body //create reference to common "body" across doctypes
},


// MOD showdelay:3000,
showdelay:1,

showcontainer:function(){
if (this.interContainer.style.display=="none") return //if interstitial box has already closed, just exit (window.onresize event triggers function)
var ie=document.all && !window.opera
var dom=document.getElementById
var scroll_top=(ie)? this.standardbody.scrollTop : window.pageYOffset
var scroll_left=(ie)? this.standardbody.scrollLeft : window.pageXOffset
var docwidth=(ie)? this.standardbody.clientWidth : window.innerWidth-this.scrollbarwidth
var docheight=(ie)? this.standardbody.clientHeight: window.innerHeight
var docheightcomplete=(this.standardbody.offsetHeight>this.standardbody.scrollHeight)? this.standardbody.offsetHeight : this.standardbody.scrollHeight
var objwidth=this.interContainer.offsetWidth
var objheight=this.interContainer.offsetHeight
this.interVeil.style.width=docwidth+"px" //set up veil over page
this.interVeil.style.height=docheightcomplete+"px" //set up veil over page
this.interVeil.style.left=0 //Position veil over page
this.interVeil.style.top=0 //Position veil over page
this.interContainer.style.left=docwidth/2-objwidth/2+"px" //Position interstitial box
var topposition=(docheight>objheight)? scroll_top+docheight/2-objheight/2+"px" : scroll_top+5+"px" //Position interstitial box
this.interContainer.style.top=Math.floor(parseInt(topposition))+"px"
if (this.autohidetimer && parseInt(this.autohidetimer)>0 && typeof this.timervar=="undefined")
this.timervar=setTimeout("interstitialBox.closeit()", this.autohidetimer*1000)
var oop=this;
setTimeout(function(){
oop.interVeil.style.visibility="visible" //Show veil over page
oop.interContainer.style.visibility="visible" //Show interstitial box
},oop.showdelay);
},

closeit:function(){
this.interVeil.style.display="none"
this.interContainer.style.display="none"
if (this.disablescrollbars && window.XMLHttpRequest) //if disablescrollbars enabled and modern browsers- IE7, Firefox, Safari, Opera 8+ etc
this.standardbody.style.overflow="auto"
if (typeof this.timervar!="undefined") clearTimeout(this.timervar)
},

getscrollbarwidth:function(){
var scrollbarwidth=window.innerWidth-(this.interVeil.offsetLeft+this.interVeil.offsetWidth) //
this.scrollbarwidth=(typeof scrollbarwidth=="number")? scrollbarwidth : this.scrollbarwidth
},

hidescrollbar:function(){
if (this.disablescrollbars){ //if disablescrollbars enabled
if (window.XMLHttpRequest) //if modern browsers- IE7, Firefox, Safari, Opera 8+ etc
this.standardbody.style.overflow="hidden"
else //if IE6 and below, just scroll to top of page to ensure interstitial is in focus
window.scrollTo(0,0)
}
},

dotask:function(target, functionref, tasktype){ //assign a function to execute to an event handler (ie: onunload)
var tasktype=(window.addEventListener)? tasktype : "on"+tasktype
if (target.addEventListener)
target.addEventListener(tasktype, functionref, false)
else if (target.attachEvent)
target.attachEvent(tasktype, functionref)
},

initialize:function(){
this.createcontainer() //write out interstitial container
this.ajaxconnect(this.displayfiles[Math.floor(Math.random()*this.displayfiles.length)], this.interContainer) //load page into content via ajax
this.dotask(window, function(){interstitialBox.hidescrollbar(); interstitialBox.getscrollbarwidth(); setTimeout("interstitialBox.showcontainer()", 100)}, "load")
this.dotask(window, function(){interstitialBox.showcontainer()}, "resize")
}
}

/////////////End of interstitialBox object declaration here ////////////////////////////////

function getCookie(Name){
var re=new RegExp(Name+"=[^;]+", "i"); //construct RE to search for target name/value pair
if (document.cookie.match(re)) //if cookie found
return document.cookie.match(re)[0].split("=")[1] //return its value
return null
}

function setCookie(name, value, hours){
var expireDate = new Date()
//set "expstring" to either an explicit date (past or future)
if (typeof hours!="undefined"){ //if set persistent cookie
var expstring=expireDate.setHours(expireDate.getHours()+parseInt(hours))
document.cookie = name+"="+value+"; expires="+expireDate.toGMTString()+"; "+interstitialBox.cookiesetting[1]
}
else //else if this is a session only cookie setting
document.cookie = name+"="+value+"; "+interstitialBox.cookiesetting[1]
}


var stitialvars=new Object() //temporary object to reference/ shorthand certain interstitialBox properties
stitialvars.freqtype=interstitialBox.displayfrequency[0] //"chance" or "cookie"
stitialvars.cookieduration=interstitialBox.displayfrequency[1] //"session" or int (integer specifying number of days)
stitialvars.cookiename=interstitialBox.cookiesetting[0] //name of cookie to use


if (stitialvars.freqtype=="chance"){ //IF CHANCE MODE
if (Math.floor(Math.random()*interstitialBox.displayfrequency[1])==0)
interstitialBox.launch=true
}
else if (stitialvars.freqtype=="cookie" && stitialvars.cookieduration=="session"){ //IF "SESSION COOKIE" MODE
if (getCookie(stitialvars.cookiename+"_s")==null){ //if session cookie is empty
setCookie(stitialvars.cookiename+"_s", "loaded")
interstitialBox.launch=true
}
}
else if (stitialvars.freqtype=="cookie" && typeof parseInt(stitialvars.cookieduration)=="number"){ //IF "PERSISTENT COOKIE" MODE
if (getCookie(stitialvars.cookiename)==null || parseInt(getCookie(stitialvars.cookiename))!=parseInt(stitialvars.cookieduration)){ //if persistent cookie is empty or admin has changed number of days to persist from that of the stored value (meaning, reset it)
setCookie(stitialvars.cookiename, stitialvars.cookieduration, stitialvars.cookieduration)
interstitialBox.launch=true
}
}

if (interstitialBox.launch)
interstitialBox.initialize()
</script>

</head>

<body>


TARTALOM TARTALOM TARTALOM TARTALOM TARTALOM TARTALOM TARTALOM TARTALOM TARTALOM TARTALOM TARTALOM TARTALOM TARTALOM TARTALOM TARTALOM


</body>
</html>

Ez egy sima felugró ablak popup, ami egy óránként jelenik meg.

További kérdéseket tehettek fel kommentben, illetve ajánlhattok másfajta megoldásokat is javascript felugróablak vagy contentgate témában!

Légy az első hozzászóló!

Még nem szólt hozzá senki sem.

Hozzászólok