实现屏幕右侧消息通知
<script>window.onload = function () {suportNotify()}//判断浏览器是否支持Web Notifications APIfunction suportNotify(){if (window.Notification) {// 支持console.lo
·
<script>
window.onload = function () {
suportNotify()
}
//判断浏览器是否支持Web Notifications API
function suportNotify(){
if (window.Notification) {
// 支持
console.log("支持"+"Web Notifications API");
//如果支持Web Notifications API,再判断浏览器是否支持弹出实例
showMess()
} else {
// 不支持
alert("不支持 Web Notifications API");
}
}
//判断浏览器是否支持弹出实例
function showMess(){
setTimeout(function () {
console.log('1:'+Notification.permission);
//如果支持window.Notification 并且 许可不是拒绝状态
if(window.Notification && Notification.permission !== "denied") {
//Notification.requestPermission这是一个静态方法,作用就是让浏览器出现是否允许通知的提示
Notification.requestPermission(function(status) {
console.log('2: '+status);
//如果状态是同意
if (status === "granted") {
var m = new Notification('收到信息', {
body: '这里是通知内容!你想看什么客官?', //消息体内容
icon:"images/img1.jpg", //消息图片
// requireInteraction: true,//打开后通知会一直显示,除非手动点击关闭
// timestamp:'2022/1/13',//通知时间,默认是系统发出通知的时间,也可以通过setWhen()来设置
// dir:'rtl',//默认值是auto, 可以是ltr或rtl
// tag:'1111',//字符串。标记当前通知的标签
// data:2222,//任意类型和通知相关联的数据。
// vibrate:[200, 100, 200],//振动模式
// renotify:true,//新通知出现的时候是否替换之前的
// silent:true,//通知出现的时候,是否要有声音
});
setTimeout(m.close.bind(m), 15000);
// Notification.close()
m.onclick = function () {//点击当前消息提示框后,跳转到当前页面
window.focus();
}
} else{
alert('当前浏览器不支持弹出消息')
}
});
}
},1000)
}
</script>
注意:如果用的是Chrome浏览器的新版本,则必须是https协议,消息通知方可有效(当然如果是自己做测试,在本机用本地ip,则无所谓http还是https),chrome的旧版本则没有这一限制(具体到哪个版本为界限,就不清楚)
欢迎使用Markdown编辑器
- 由于有修改通知显示时间需求。
关闭通知的实例方法:
var n = new Notification(theTitle,options);
setTimeout(n.close.bind(n), 4000);
更多推荐
已为社区贡献1条内容
所有评论(0)