Javascript 如何使用js使弹出窗口只显示一次?

Javascript 如何使用js使弹出窗口只显示一次?,javascript,jquery,html,bootstrap-modal,Javascript,Jquery,Html,Bootstrap Modal,我正在尝试创建一个30秒后过期的cookie。如果用户在这30秒之间刷新页面,则仅当cookie过期时,弹出窗口不应弹出。如果用户在30秒后刷新页面,应该会看到它。我的问题是,它不断地出现,它不会停止。我怎样才能阻止它 $(文档).ready(函数(){ $(“#myModal”).modal('show'); }); 函数createCookie(名称){ 调试器; 变量日期=新日期(); date.setTime(date.getTime()+(30*1000)); //警报(日期);

我正在尝试创建一个30秒后过期的cookie。如果用户在这30秒之间刷新页面,则仅当cookie过期时,弹出窗口不应弹出。如果用户在30秒后刷新页面,应该会看到它。我的问题是,它不断地出现,它不会停止。我怎样才能阻止它


$(文档).ready(函数(){
$(“#myModal”).modal('show');
});
函数createCookie(名称){
调试器;
变量日期=新日期();
date.setTime(date.getTime()+(30*1000));
//警报(日期);
var expires=“;expires=“+date.toString();
document.cookie=name+“=”+expires+“path=/”;
//警报(document.cookie);
}
函数showbanner()
{
记录。写下(“×;注册秋季课程,今天预订座位电子邮件:

或电话:

”); } var ban=document.cookie; createCookie(“横幅”); 如果(ban==“”){ showbanner(); }
我会在cookies上使用本地存储。不必担心过期,只需保存当前加载日期,并检查是否比上次加载时间多30秒:

var lastVisited = window.localStorage.getItem('last visited');
console.log(
  'It has been',
  Date.now() - 5000 > Date.parse(lastVisited) ? 'more' : 'less',
  'than 5 seconds since your last visit.'
)
window.localStorage.setItem('last visited', new Date());
全文:

<!DOCTYPE html>
<html lang="en">

<head>
  <!-- Bootstrap Core CSS -->
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css">
  <!-- Latest jQuery Library -->
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
  <!-- Bootstrap Core JS -->
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script>
  <!-- Cookie JS for Modal -->
  <script src="http://cdnjs.cloudflare.com/ajax/libs/jquery-cookie/1.4.0/jquery.cookie.min.js"></script>
  <script type="text/javascript">
    $(document).ready(function() {
      $("#myModal").modal('show');

    });
  </script>
  <script>
    function showBanner(name) {
      var lastVisited = window.localStorage.getItem('last visited');
      if (lastVisited == null || Date.now() - 5000 > Date.parse(lastVisited)) {
        document.write('<div class="container-fluid"><div id="myModal" class="modal fade">    <div class="modal-dialog">        <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button> <h3>REGISTER FOR FALL SESSION</h3></div><div class="modal-body"><div class="row"><div class="col-xs-12 col-sm-6"> <img src="gym.png" alt="gym_promo" style="width:304px;"></div><div class="col-xs-12 col-sm-6"><h3> Reserve Your Spot Today </h3><p> EMAIL : <a href="mailto:PLAYATGYM@GMAIL.COM" target="_top">PLAYATGYM@GMAIL.COM </a> </p><p>OR CALL :<a href="514-795-4266"> 514-795-4266</a> </p> </div></div></div> </div> </div></div></div>');
      }
      window.localStorage.setItem('last visited', new Date());
    }
    showBanner();
  </script>
</head>
<body>
</body>
</html>

$(文档).ready(函数(){
$(“#myModal”).modal('show');
});
函数showBanner(名称){
var lastVisited=window.localStorage.getItem(“上次访问”);
if(lastVisited==null | | Date.now()-5000>Date.parse(lastVisited)){
记录。写下(“×;注册秋季课程,今天预订座位电子邮件:

或电话:

”); } window.localStorage.setItem('上次访问',新日期()); } showBanner();
可能与commands中的分号有关不要问新帐户的问题。@Brian谢谢你花时间回答我。不,兄弟,我查过了,但你认为逻辑是正确的吗?这不是新帐户,我只是转寄了我的questin@cdi什么意思?你在这个问题的另一个回复中回答了这个问题。我知道这在法庭上是站不住脚的,但在句号之后没有空格的文字不断出现,而且还在继续流行up@cdi请尝试我发布的HTML。我累了,它仍然不工作,兄弟,5秒后弹出窗口不工作appear@cdi这是一个演示。单击
runwithjs
按钮。等待5秒钟,然后再次按下,模式将再次弹出。等待少于5秒,您将不会看到模式弹出窗口。