codeigniter 每个会话一次模态显示

d4so4syb  于 2022-12-06  发布在  其他
关注(0)|答案(2)|浏览(119)

我有一个在页面中显示指令的模式向导。我想在每个会话中显示一次模式向导
这是我的代码

<div class="modal fade" id="wizardmodal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
    <div class="modal-dialog modal-lg modal-dialog-centered" role="document">
      <div class="modal-content">
        <div class="modal-header">
          <h5 class="modal-title" id="exampleModalLabel">Add Property</h5>
          <button type="button" class="close" data-dismiss="modal" aria-label="Close">
            <span aria-hidden="true">&times;</span>
          </button>
        </div>
        <div class="modal-body">

          <!-- Smart Wizard HTML -->
          <div id="smartwizard">
              <ul>
                  <li><a href="#step-1">Step 1<br /><small>Add Property</small></a></li>
                  <li><a href="#step-2">Step 2<br /><small>Type of Property</small></a></li>
              </ul>

              <div>



        </div>
        <div class="modal-footer">
          <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
        </div>

我目前正在使用模态显示。

$(window).on('load',function(){
    $('#wizardmodal').modal('show');
    });

当我重新加载页面时,模态自动显示。我该怎么办?

amrnrhlw

amrnrhlw1#

使用window.sessionStorage跟踪是否已在该会话中向用户显示该文件。

$(window).on('load',function(){
  if (!sessionStorage.getItem('shown-modal')){
    $('#wizardmodal').modal('show');
    sessionStorage.setItem('shown-modal', 'true');
  }
});
aamkag61

aamkag612#

已回答here
您可以使用jQuery Cookie:

$(document).ready(function() {
var dialogShown = $.cookie('dialogShown');

if (!dialogShown) {
    $(window).load(function(){
        $('#wizardmodal').modal('show');
        $.cookie('dialogShown', 1);
    });
}
});

或浏览器的本地存储:

$(document).ready(function() {
var dialogShown = localStorage.getItem('dialogShown')

if (!dialogShown) {
    $(window).load(function(){
        $('#wizardmodal').modal('show');
        localStorage.setItem('dialogShown', 1)
    });
}
});

相关问题