Jquery模式弹出窗口每个用户会话只显示一次

我有一个jquery函数,在页面加载时显示模式弹出窗口。 有没有办法让每个用户会话只显示一次。 我有很多post,但无论出于何种原因,我都无法让他们在我的剧本中工作。

我的剧本:

$(document).ready(function() { $(window).load(function(){ $( "#dialog1" ).dialog(); }); }); 

模态弹出窗口由以下部分组成:

 
Content here

Mant提前感谢您的时间和帮助。

实现此目的的一种方法是与cookie集成。 让它显示对话框并存储对话框已在cookie中显示的值,以便下次不显示。

在这种方法中,我使用的是jQuery Cookie 。 (随意使用vanilla javascript到r / w cookies)。 我还假设您使用jQuery UI来调用dialog

 $(document).ready(function() { var dialogShown = $.cookie('dialogShown'); if (!dialogShown) { $(window).load(function(){ $( "#dialog1" ).dialog(); $.cookie('dialogShown', 1); }); } else { $("#dialog1").hide(); } }); 

上面的代码所做的只是在之前弹出对话框后设置cookie。 让同一用户再次看到对话框的唯一方法是当cookie过期 (您可以设置),或者用户清除cookie。

编辑 :实现此目的的第二种方法,如果浏览器支持,您可以使用localStorage。

 $(document).ready(function() { var dialogShown = localStorage.getItem('dialogShown') if (!dialogShown) { $(window).load(function(){ $( "#dialog1" ).dialog(); localStorage.setItem('dialogShown', 1) }); } else { $("#dialog1").hide(); } });