Tengo una notificación del sitio web Al enviar la notificación, se envía ahora. Quiero enviarlo dos horas después de presionar el botón de enviar notificación
CÓDIGO
<button onclick="bell();">send</button> function bell() { function notifyMe() { if (!("Notification" in window)) { alert("This browser does not support system notifications"); } else if (Notification.permission === "granted") { notify(); } else if (Notification.permission !== 'denied') { Notification.requestPermission(function (permission) { if (permission === "granted") { notify(); } }); } function notify() { var notification = new Notification('success now', { icon: 'blue.svg', }); setTimeout(notification.close.bind(notification), 3000); var notification = new Notification('success 2 hours', { icon: 'blue.svg', }); notification.onclick = function () { window.open("INDEX.HTML"); }; } } notifyMe(); }Puedes usar este código:
<!DOCTYPE html> <html> <body> <button onclick="bell()">Show notification</button> <script type="text/javascript"> const granted = (async () => { let granted = false; if (Notification.permission === 'granted') { granted = true; } else if (Notification.permission !== 'denied') { let permission = await Notification.requestPermission(); granted = permission === 'granted' ? true : false; } return granted; })(); const showNotification = (msg) => { const notification = new Notification('success', { body: msg, icon: 'blue.svg' }); setTimeout(() => { notification.close(); }, 3 * 1000); notification.onclick = () => { window.focus(); } } function bell() { granted && showNotification("Hello World"); // short for if (granted) showNotification(...) } </script> </body> </html>