我有一个网站通知当发送通知时,它现在发送。我想在按下发送通知按钮两小时后发送它
代码<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();
}
您可以使用以下代码:
<!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>