Javascript 让HTML5通知在延迟后消失?
我想使用HTML5通知,这非常有效 问题是它们永远不会消失Javascript 让HTML5通知在延迟后消失?,javascript,html,html5-notifications,Javascript,Html,Html5 Notifications,我想使用HTML5通知,这非常有效 问题是它们永远不会消失 如何设置HTML5通知消失后的延迟?您可以调用.close()方法: var n = new Notification("Hello"); setTimeout(n.close.bind(n), 2000); 有关详细信息,请参阅。通知应具有内置的关闭按钮,否 HTML <a href="#" onclick="return show()">Notify me!</a> JS <script>
如何设置HTML5通知消失后的延迟?您可以调用
.close()
方法:
var n = new Notification("Hello");
setTimeout(n.close.bind(n), 2000);
有关详细信息,请参阅。通知应具有内置的关闭按钮,否 HTML
<a href="#" onclick="return show()">Notify me!</a>
JS
<script>
var Notification = window.Notification || window.mozNotification || window.webkitNotification;
Notification.requestPermission(function (permission) {
// console.log(permission);
});
function show() {
var instance = new Notification(
"Hey", {
body: "this is a message"
}
);
instance.onclick = function () {
// Something to do
};
instance.onerror = function () {
// Something to do
};
instance.onshow = function () {
// Something to do
};
instance.onclose = function () {
// Something to do
};
return false;
}
</script>
var Notification=window.Notification | | | window.mozNotification | | window.webkitNotification;
Notification.requestPermission(函数(权限){
//console.log(权限);
});
函数show(){
var实例=新通知(
“嘿”{
正文:“这是一条信息”
}
);
instance.onclick=函数(){
//有事可做
};
instance.onerror=函数(){
//有事可做
};
instance.onshow=函数(){
//有事可做
};
instance.onclose=函数(){
//有事可做
};
返回false;
}
我认为OP的问题在于,他们希望它只显示一定的时间,不希望用户必须取消它,所以我不确定这段代码如何解决他们的问题。@confile-因此,n.close()
会用相应的这个值调用。我不明白。为什么不直接执行n.close()
?@confile-您必须传递对该方法的引用。如果您只是传递n.close
,它将无法正确调用它。调用close方法时,n
的值将丢失。如果您传递了n.close()
,那么它将立即执行,而不是稍后当setTimeout()触发时执行。parens()
表示现在就执行该函数。没有parens的函数引用是setTimeout()
以后可以调用的函数引用(这是这里需要的)。@confile-您也可以使用setTimeout(function(){n.close();},2000)代码>,但我显示的版本更紧凑。