2012-05-31 74 views
0

我希望ADV这样的页面代码做:vozforums.com开放叠加弹出每15分钟

他们打开一个覆盖弹出每15分钟一班,使用的cookie。下面是截图:

enter image description here

我在他们的代码是外观和使用这种弹出式广告代码,他们:http://defunkt.io/facebox/

但我是不知道如何打开弹出窗口每15分钟,每个会话只使用一次(使用jquery和cookie)。所以请帮助。

+0

这会让用户厌恶你的网站,你councious的是什么? – BiAiB

+0

是的,我确定.. – Tran

回答

0

setTimeout和jQyeryUI模态对话框将为你做的伎俩。

window.setTimeout(function() { 
    $("#myDialog").dialog("open"); 
}, numberOfMSToWaitBeforeOpening); 

当他们关闭对话框,如果你想在弹出的复发你需要围绕超时的管理有点编码。

+0

有页面更改... settimeout将重置每个页面加载的计时器。 –

+0

这个问题并不十分清楚,除了并非所有网站都会为页面更改重新加载,现在许多网站都使用动态内容加载。 –

1

Cookie可以设置一段时间。你只需要检查cookie是否存在,你不应该显示弹出窗口,否则显示它并设置cookie。

if(readCookie('popupshown') == null) 
{ 
    //show popup 
} 

方法来读取和设置Cookie:

// Cookies 
function createCookie(name, value, minutes) { 
    if (days) { 
     var date = new Date(); 
     date.setTime(date.getTime() + (minutes * 60 * 1000)); 
     var expires = "; expires=" + date.toGMTString(); 
    } 
    else var expires = ""; 


    name = name; 

    document.cookie = name + "=" + value + expires + "; path=/"; 
} 

function readCookie(name) { 
    var nameEQ = name + "="; 
    var ca = document.cookie.split(';'); 
    for (var i = 0; i < ca.length; i++) { 
     var c = ca[i]; 
     while (c.charAt(0) == ' ') c = c.substring(1, c.length); 
     if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length); 
    } 
    return null; 
}