这是问题..
我试图让用户每30天只执行一次弹出操作。目前弹出窗口正在无限循环中执行..每次触发它都会一遍又一遍地执行..它应该只发生一次,然后设置某种类型的cookie或支票,30天后如果用户回来,它将再次执行。我试过在PHP中设置cookie。使用一个。 JQuery方法..在Jquery中设置cookie ..使用标志变量..所有这些东西,它仍然只是执行alwayse。我最好需要PHP或Jquery的解决方案。
非常感谢您的帮助。谢谢。
这是代码
<script>
$( document ).ready(function() {
var SetWait;
var filledPhone;
//setTimeout(function(){}, 1500);//close timeout
SetWait = 1;
setTimeout(function(){SetWait=0;}, 1200);
$("body").mouseleave(function() {
if(SetWait==0){
if(!filledPhone){
$("#myModalpopup").fadeIn();
$(".modal-backdrop").fadeIn();
$(".modal-content").fadeIn();
}//close filled email check
}
});//close function
$(".close").click(function() {
SetWait = 1;
$("#myModalpopup").fadeOut();
$(".modal-backdrop").fadeOut();
$(".modal-content").fadeOut();
setTimeout(function(){SetWait=0;}, 2500);
});//close function
$("#twillioPopup").click(function() {
var the_number = $("#custPhone").val(); //email user enters
if(!the_number){
alert('Please enter phone number.');
}else{
$("#myModalpopup").fadeOut();
$(".modal-backdrop").fadeOut();
$(".modal-content").fadeOut();
filledPhone = the_number;
///////// DO AJAX TO SAVE EMAIL AND CART ID ETC /////////
$.ajax({
type: 'POST',
url: 'ajax/twillioPopup.php',
data: {the_number:the_number},
success: function( response ){
$('#success_message').html(response);
}
}); //close ajax
///////// DO AJAX TO SAVE EMAIL AND CART ID ETC /////////
}//close if else
});//close click
});//close ready
</script>
&#13;
答案 0 :(得分:0)
尝试创建一个30天后过期的php COOKIE。如果未设置cookie,则运行代码并进行设置,否则不执行任何操作。像这样的东西?
<?php
if(isset($_COOKIE['yourCookieName'])){
//Do nothing
} else {
$cookie_name = "yourCookieName";
$cookie_value = "set";
setcookie($cookie_name, $cookie_value, time() + (86400 * 30), "/"); // 86400 = 1 day
?>
//Break out of php and run your javascript here
<?php
}
?>
这应检测cookie是否已设置,如果不是,则运行javascript一次然后设置cookie(如果他们在接下来的30天内重新访问,而cookie仍处于活动状态,则javascript将被忽略)< / p>