【发布时间】:2017-10-18 12:03:56
【问题描述】:
我目前有一个对话框,每次加载页面时都会自动显示。但是,我具有搜索等功能,因此当用户搜索条目时,它将再次显示弹出框,因为页面正在再次加载。
我怎样才能让对话框只在页面第一次加载时显示?
这是我的对话框的 HTML 代码:
<!-- Dialog box -->
<div id="dialog-form" title="Instructions">
<form>
<fieldset>
<ul>
<li>These are instructions</li><br>
<li>that should be displayed</li><br>
<li>inside the dialog box</li><br>
<li>on the first load only</li>
</ul>
</fieldset>
</form>
</div>
JavaScript:
$( function() {
var dialog = $( "#dialog-form" ).dialog({
autoOpen: true,
height: 400,
width: 350,
modal: true,
buttons: {
OK: function() {
dialog.dialog( "close" );
}
}
});
});
【问题讨论】:
-
您可以尝试在第一次显示后使用 sessionStorage 设置变量,并且每次在显示对话框之前检查它是否已经设置。如果是这样,就不要再显示了。
-
你能显示你的完整代码(加载然后重新加载的页面)吗?如果是 PHP,您可以在进行搜索时传递一个标志,让 JS 可以参考是否显示对话框。如果页面是不刷新的单个页面,您可以只使用 JS 全局变量并将其设置为 init 以防止对话框再次显示。会话存储变量也可以工作。
-
你可以使用cookies...问题是用户禁用了它们。
标签: javascript jquery html dialog popup