Javascript 每个用户只能打开一次Jquery对话框
我在首页上使用jQueryUI模式对话框,并且我只想为每个用户显示一个对话框。这是我的代码:Javascript 每个用户只能打开一次Jquery对话框,javascript,jquery,jquery-ui-dialog,Javascript,Jquery,Jquery Ui Dialog,我在首页上使用jQueryUI模式对话框,并且我只想为每个用户显示一个对话框。这是我的代码: <script> $(function() { $( "#dialog-message" ).dialog({ modal: true, resizable: false, show: 'slide', buttons: { Ok: function() { $( this ).dialog(
<script>
$(function() {
$( "#dialog-message" ).dialog({
modal: true,
resizable: false,
show: 'slide',
buttons: {
Ok: function() {
$( this ).dialog( "close" );
}
}
});
});
</script>
<div id="dialog-message" title="Attention">
<p>Sample text here!</p>
</div>
$(函数(){
$(“#对话框消息”).dialog({
莫代尔:是的,
可调整大小:false,
放映:'幻灯片',
按钮:{
好的:函数(){
$(此).dialog(“关闭”);
}
}
});
});
示例文本在这里
非常感谢您的帮助!
谢谢 您必须检查用户是否访问了特定页面。您可以将状态保留在会话变量或cookie中。根据值,可以显示对话框 使用cookie的示例: 在html文件中包括jquery cookie,即 下面的代码将完成您的任务
$(document).ready(function()
{
$(function() {
if ($.cookie('page_visited') != 'yes')
{
$( "#dialog-message" ).dialog({
modal: true,
resizable: false,
show: 'slide',
buttons: {
Ok: function() {
$( this ).dialog( "close" );
}
}
});
$.cookie('page_visited','yes')
}
});
});
您可以将cookie过期期限设置为第三个参数$。cookie('page_visted','yes',expiration_date)
使用(如前所述)或(取决于您必须支持的浏览器)
使用cookies的方法:
$(function() {
if( document.cookie.indexOf( "runOnce" ) < 0 ) {
$( "#dialog-message" ).dialog({
modal: true,
resizable: false,
show: 'slide',
buttons: {
Ok: function() {
$( this ).dialog( "close" );
document.cookie = "runOnce=true; expires=Fri, 31 Dec 9999 23:59:59 GMT; path=/";
}
}
});
}
});
$(function() {
if( ! localStorage.getItem( "runOnce" ) ) {
$( "#dialog-message" ).dialog({
modal: true,
resizable: false,
show: 'slide',
buttons: {
Ok: function() {
$( this ).dialog( "close" );
localStorage.setItem( "runOnce", true );
}
}
});
}
});
定义“用户”?每个会话一次,每页访问一次,每个IP一次,每个登录凭据一次?抱歉,我没有很好地指定它,每页访问一次@gpgekkoth模式设置代码在页面加载时只触发一次,因此它只打开一次。这意味着它已经在做你想让它做的事情了。我的意思是,我希望它只加载或显示一次,当用户再次访问页面时,对话框不应该出现。就像这样:,但我不知道如何将代码与我的代码相结合。我不知道如何,你能帮我吗?我对这些东西不熟悉。谢谢你的回复,非常感谢!您好,上面的代码似乎不起作用,我尝试用以下路径上传js文件:谢谢@gpgekko,我尝试了您关于cookies的第一个建议,效果非常好!我更喜欢使用cookies,因为localStorage与其他浏览器存在一些兼容性问题。竖起大拇指@gpgekko,上面的cookie方法适用于chrome,但我最近注意到它不适用于Mozilla和IE。它如何适用于不同的浏览器?我的错,上面的代码适用于不同的浏览器,我在不同的计算机上尝试过。可能是我浏览器上的缓存。非常感谢@gpgekko。使用localStorage的代码,当用户再次加载同一页面时,对话框不会按要求弹出。但是,它的文本已经在页面的主体中,因为我正在一个与对话框id相同的div中输入它。有解决办法吗?@R.S.K你是什么意思?在DOM中还是在页面上可以看到?