1

我有一个显示模式对话框 onload 的页面。在模式被解除之前,用户需要检查并提交一个复选框(想想使用条款)。一旦发生这种情况,页面可以再次重新加载,但对话框永远不会回来。最初我想使用 PHP 会话,但我想用 JS (jQuery) 关闭对话框而不重新加载页面。什么是替代方案?我可以在会话期间使用 cookie 吗?

我当前的代码如下所示:

JS:

$(document).delegate('#myButton', 'click', function() {

     if ($('input[name="myCheckbox"]').is(':checked')) {
        $('#myDialog').remove();
    }
});

HTML:

<div id="myDialog">
   text
   <input type="checkbox" name="myCheckbox"> <input id="myButton" type="button" value="click me">
</div>  
4

2 回答 2

4

您可以永久使用 localStorage 或 sessionStorage 仅用于一个会话

 localStorage.setItem('showModal',true);
 localStorage.getItem('showModal');

它是纯javascript。无需在服务器端执行此操作。

于 2012-11-04T16:40:07.867 回答
2
$(window).on('load',function(){
  if (document.cookie.indexOf('visited=true') == -1){

    $('#myModal').modal({show:true});
    var year = 1000*60*60*24*365;
    var expires = new Date((new Date()).valueOf() + year);
    document.cookie = "visited=true;expires=" + expires.toUTCString();
  }
});
于 2018-10-21T16:21:52.020 回答