Как вызвать bootstrap модальный только один раз и использовать браузер localalstorage, чтобы обнаружить модальный режим уже запущен - PullRequest
0 голосов
/ 05 марта 2020

Вот мой bootstrap модальный код

    <button type="button" class="btn btn-primary" data-toggle="modal" data-target="#exampleModalCenter">
  Launch demo modal
</button>

<!-- Modal -->
<div class="modal fade" id="exampleModalCenter" tabindex="-1" role="dialog" aria-labelledby="exampleModalCenterTitle" aria-hidden="true">
  <div class="modal-dialog modal-dialog-centered" role="document">
    <div class="modal-content">
      <div class="modal-header">
        <h5 class="modal-title" id="exampleModalCenterTitle">Modal title</h5>
        <button type="button" class="close" data-dismiss="modal" aria-label="Close">
          <span aria-hidden="true">&times;</span>
        </button>
      </div>
      <div class="modal-body">
       ok so the content goes here good good
      </div>
      <div class="modal-footer">
        <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
        <button type="button" class="btn btn-primary">Save changes</button>
      </div>
    </div>
  </div>
</div>

и код javascript для запуска через 2 секунды после загрузки страницы

$(window).ready(function() {
   setTimeout(function(){
       $('#exampleModalCenter').modal('show');
   }, 2000);
});

Я ищу код, который запускает эту функцию только один раз для пользователя и не повторяет каждый раз, когда он снова посещает страницу.

Итак, я решил использовать метод браузера localalstorage, чтобы сохранить это событие и снова определить, является ли оно был уже запущен или нет.

Я открыт для предложений, если есть лучший способ сделать это.

Спасибо.

1 Ответ

1 голос
/ 05 марта 2020

Ох, так что вы хотите сохранить состояние триггера в localStorage ...

$(document).ready(() => {
        console.log(window.localStorage.modal);
        if (window.localStorage.modal != "true") {
            setTimeout(function(){
                $("#exampleModalCenter").modal('show');
                window.localStorage.modal = true;
            }, 2000);
        }
})

Этот код сначала проверит, существует ли модальное значение или модальное значение ложно, что в первом случае условие будет истинным, поэтому модальное будет виден и модальное значение localalstorage будет истинным. После этого для других случаев он не сработает, потому что модальное значение! == истинное условие.

примечание - но если они очистят местное хранилище, оно не сможет вам помочь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...