jQuery UI对话框在页面上只显示一次

jQuery UI Dialog display only one time on page

本文关键字:显示 一次 对话框 UI jQuery      更新时间:2023-09-26

我在主页上使用jQuery UI对话框,自动打开设置为true,这样用户一到网站就会显示弹出窗口。这里是开发地点

http://dev.startingpointnh.org/

正如你所看到的,对话框工作得很好,但我只想显示一次。目前,每当用户返回主页或重新加载页面时,弹出窗口都会再次显示。

我想知道是否有办法在关闭此消息按钮或esc键按下后显示一次,就像这个网站做一样

http://www.janedoe.org/

如有任何建议,不胜感激。

感谢

将该信息存储在cookie中。点击此处查看更多详细信息。

基本上,当用户在关闭函数处退出对话框时,添加一个存储为true的变量。然后存储变量:

document.cookie = "hasSeen: true"

然后在页面加载上,读取cookie:

var hasSeen = document.cookie

并将您的autoOpen变量设置为cookie:

if(hasSeen) {
    $("#openDialog").dialog({
         autoOpen: false
    });
}

那就行了!

谢谢大家。我添加了一个类似下面的cookie,点击关闭此消息按钮时效果非常好。但当点击esc键或顶部的x按钮时,它仍然会显示。如何参考这两个也

<script type="text/javascript">
  jQuery(document).ready(function(){
   if( document.cookie.indexOf( "showOnce" ) < 0 ) {
   jQuery('#dialog').dialog({
    modal: true,
    width: 740,
    resizable: true,
    buttons: {
    "Close This Message": function() {
     jQuery( this ).dialog( "close" );
      document.cookie = "showOnce=true;";
    }
}
}); 
}   

});