Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/412.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何弹出消息并将过期时间设置为存储在本地存储中的消息状态?_Javascript_Local Storage - Fatal编程技术网

Javascript 如何弹出消息并将过期时间设置为存储在本地存储中的消息状态?

Javascript 如何弹出消息并将过期时间设置为存储在本地存储中的消息状态?,javascript,local-storage,Javascript,Local Storage,我使用上述方法在页面加载期间向用户显示弹出消息,并在第二次加载后禁用弹出消息显示。我怎样才能让它在一段时间后自动弹出给用户?e、 g.用户关闭弹出消息后,它将在一小时后自动显示。您可以为此使用间隔: if(localStorage.getItem('popState') != 'shown'){ $(function () { $('[data-toggle="popover"]').popover({ content : "...

我使用上述方法在页面加载期间向用户显示弹出消息,并在第二次加载后禁用弹出消息显示。我怎样才能让它在一段时间后自动弹出给用户?e、 g.用户关闭弹出消息后,它将在一小时后自动显示。

您可以为此使用间隔:

if(localStorage.getItem('popState') != 'shown'){
        $(function () {
            $('[data-toggle="popover"]').popover({
            content : "....."
        });
          $('[data-toggle="popover"]').popover('show');
        });
            localStorage.setItem('popState','shown')
}
您可以使用setTimeout:
const showPopup = function showPopup() {
  const lastShown = localStorage.getItem('popStateLastShown');
  const hasOneHourPassed = lastShown ?
    (Math.abs(new Date(lastShown) - new Date()) / 36e5) >= 1 :
    false;

  if (hasOneHourPassed || localStorage.getItem('popState') !== 'shown') {
    // Show popup

    localStorage.setItem('popState', 'shown');
    localStorage.setItem('popStateLastShown', new Date());
  }
};

// Run code immediately.
showPopup();

// Check again after an hour.
setInterval(showPopup, 36e5);