javascript cookie不会阻止弹出窗口每天显示多次

时间:2018-08-28 16:01:01

标签: javascript cookies popupwindow

我不熟悉JavaScript,正在尝试设置一个弹出窗口,该窗口每天仅对访问者显示一次。弹出窗口正常工作,并且在页面4分钟后会打开。如果我关闭弹出窗口,当我仍在同一页面上时,它不会再次显示。问题是,当我转到其他页面时,弹出窗口在4分钟后再次显示。用户关闭弹出窗口后,无论他们访问哪个页面,他们都不会在24小时内再次看到它。

我使用的代码是:

<script>
function setCookie(cname, cvalue, exdays) {
  var d = new Date();
  d.setTime(d.getTime() + (exdays*24*60*60*1000));
  var expires = "expires="+d.toUTCString();
  document.cookie = cname + "=" + cvalue + "; " + expires + ";domain=;path=/";
}

function getCookie(cname) {
  var name = cname + "=";
  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);
    if (c.indexOf(name) == 0) return c.substring(name.length,c.length);
  }
  return "";
}

var cookie = getCookie('ma_epht');
if (!cookie) {
  showPopup();
}

$(document).ready(function(){
   $("#MyPopup").hide(0).delay(240000).fadeIn(0)}
);

function showPopup() {
  setCookie('ma_epht', 'true', 365);
  document.querySelector('#MyPopup').style.display = 'block';
}
</script>

<div id="MyPopup" class="overlay">
  <div class="autopop">
    <a class="close" href="#MyPopup">&times;</a>
    <div class="a-content">
       <iframe src="https://www.checkbox.com" width="990" height="550"></iframe> 

    </div>
  </div>
</div>

任何对我做错事的建议都将不胜感激。

0 个答案:

没有答案