2017-07-12 14 views
0
if(localStorage.getItem('popState') != 'shown'){ 
     $(function() { 
      $('[data-toggle="popover"]').popover({ 
      content : "....." 
     }); 
      $('[data-toggle="popover"]').popover('show'); 
     }); 
      localStorage.setItem('popState','shown') 
} 

上記の方法を使用して、ページロード中にユーザーにポップアップメッセージを表示し、2回目のロード後に表示されるポップアップメッセージを無効にします。一定の時間が経過したら、どのようにユーザーに自動的にポップアウトさせることができますか?例えばユーザーがポップアップメッセージを閉じると、1時間後に自動的に表示されます。メッセージをポップし、ローカルストレージに保存されているメッセージ状態に有効期限を設定するにはどうすればよいですか?

+0

を:https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/setTimeout – Matus

答えて

1

あなたはこの間隔を使用することができます:あなたはの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); 
+0

[OK]を、ありがとう。私はそれを試してみる。 – Crazy

関連する問題