我正在使用“显示模式”在我的网站加载时加载弹出窗口。但是,每次加载页面时都会加载弹出窗口。由于访问者可以访问多个页面或多个实例,因此这种限制对我们的访问者体验不利。
以下是我在加载页面时加载显示模式的js。
jQuery(document).ready(function($) {
/* Pop-up
================================================= */
$(function() {
function showpanel() {
$('.reveal-modal').reveal({
animation: 'fade',
animationspeed: 800
});
}
setTimeout(showpanel, 4000)
});
});
我可以添加什么来确保揭密模式在特定日期只加载一次,无论访问者访问多少个不同页面?
非常感谢任何协助。
由于
答案 0 :(得分:2)
实现这一目标的最简单方法是cookie只能持续24小时。
您要做的是检查是否有Cookie并在没有
的情况下显示对话框if($.cookie('MyCookie') != 'DialogShown'){
showpanel();
setCookie();
}
以下是设置它的代码
function setCookie(){
$.cookie('MyCookie', 'DialogShown',
{
expires: date.getTime() + (24 * 60 * 60 * 1000) // now add 24 hours
});
}
但请注意,用户可能已将其浏览器配置为拒绝Cookie,并且在英国(可能还有其他国家/地区{}有{}}使用Cookie的网站。
答案 1 :(得分:2)
您需要持久存储,例如Cookie,localStorage或服务器端存储。
$(function() {
if ( localStorage.getItem('seen') != (new Date()).getDate()) {
setTimeout(showpanel, 4000);
}
});
function showpanel() {
$('.reveal-modal').reveal({
animation: 'fade',
animationspeed: 800
});
localStorage.setItem('seen', (new Date()).getDate());
}
为旧版浏览器提供了填充功能
答案 2 :(得分:1)
对于客户端解决方案,您可以使用cookie在用户的浏览器中设置并将其设置为1天到期。
$.cookie('the_cookie', 'the_value', { expires: 1 });
有关详细信息,请参阅: https://github.com/carhartl/jquery-cookie
编辑:
在您的html页面中包含Jquery-cookie插件,然后添加以下代码
$(function() {
if($.cookie('alreadyShow') === null) {
$.cookie('alreadyShow', true, {expires: 1});
$('.reveal-modal').reveal({
animation: 'fade',
animationspeed: 800
});
}
});