web实现消息推送及桌面提醒
2019独角兽企业重金招聘Python工程师标准>>>
就类似我们之前描述的,来一个 HTML5 提醒面板,再放一段语音。这个就有些类似12306 的抢票了。
还是先看下我们的效果图:
我们重点说下 HTML5 Notification
Notification 从字面意思理解就是”提醒”、”注意”的意思。所以它的作用就是,我们在忙于其他工作时,也可以收到来自页面的消息通知,例如一个新订单或者新邮件来了。
作为 HTML5 的新东西,主流浏览器除了 IE 以外,其他浏览器较高版本都支持,只是有些样式的不同而已。
所以我们使用这些新特性的时候还是要考虑下用户的情况。
具体代码实现:
//浏览器兼容性处理
var Notification = window.Notification || window.mozNotification || window.webkitNotification;var media = new Audio("http://****.mp3"); //语音地址function showNotice(title,msg){if(Notification){Notification.requestPermission(function(status){//status默认值'default'等同于拒绝 'denied' 意味着用户不想要通知 'granted' 意味着用户同意启用通知if("granted" != status){return;}else{var tag = "order"+Math.random(); //产生随机tag,方便点击的时候定位处理var notify = new Notification(title,{tag:tag,icon:'http://******.png',//通知的缩略图,//icon 支持ico、png、jpg、jpeg格式body:msg //通知的具体内容});notify.onclick=function(){//如果通知消息被点击,通知窗口将被激活media.pause();window.focus();notify.close();};notify.onerror = function () {console.log("HTML5桌面消息出错!!!");};notify.onshow = function () {media.play();//5s 后自行停止通知setTimeout(function () {notify.close();media.pause();}, 5000);}};notify.onclose = function () {console.log("HTML5桌面消息关闭!!!");media.pause();};}});}else{console.log("您的浏览器不支持桌面消息");}
};
具体的基本使用方法就是这些。我们最好还是了解下它的详细属性。
但是很多属性在使用过程中没有发现具体的作用,除了上面代码中使用到的,我只发现了两个比较有用的:
- image 给通知添加一个图片内容。如图:
- requireInteraction 。字面意思是 “需要互动、合作”,表示无法理解。
默认为 false ,如果不处理提醒,系统会在20s之后会调用 onclose 事件,提醒自动消失;
如果为 true ,我们会发现,系统不会自动进入 onclose ,消息是永久的,直到我们手动处理。所以这个属性可以创建持续性提醒面板。
比如这里我需要创建一个持续性提醒cms管理员有新订单,我们修改其中的一些方法:
var clickFlag=false; //是否已经点击
notify.onclick=function(){//如果通知消息被点击,通知窗口将被激活media.pause();window.focus();notify.close();clickFlag=true; //通知已点
};notify.onshow = function () {media.play();if(!clickFlag) {//每5s提醒一次setTimeout(function () {//notify.close();//media.pause();notify.onshow();}, 5000);}};notify.onclose = function () {console.log("HTML5桌面消息关闭!!!");media.pause();clickFlag=true;};
以上就是简单实现web消息推送及桌面提醒的全部内容。
转载于:https://my.oschina.net/martin123/blog/1529698
web实现消息推送及桌面提醒相关推荐
- web端消息推送的方式介绍
1.goeasy 官方地址:http://www.goeasy.io/ 集成简单,自己可以在官网上去看官方文档,12个月免费!值得一试. 2.dwr推送:官方地址http://directwebre ...
- 【微信早安定时推送3.0最牛版】微信消息推送后 可提醒可顶置,聊天框名称,头像都可修改~
微信早安3.0最牛版重磅推出!!! 全网最全最详细教程,无基础看过的都说好,不白找. 往期推送: 微信早安推送1.0版: https://blog.csdn.net/A_Xunla/article/d ...
- Web 实时消息推送详解
title: Web 实时消息推送详解 category: 系统设计 head: meta name: keywords content: 消息推送,短轮询,长轮询,SSE,Websocket,MQT ...
- 7种 实现web实时消息推送的方案
我有一个朋友- 做了一个小破站,现在要实现一个站内信web消息推送的功能,对,就是下图这个小红点,一个很常用的功能. 不过他还没想好用什么方式做,这里我帮他整理了一下几种方案,并简单做了实现. 什么是 ...
- 我有 7种 实现web实时消息推送的方案,7种!
技术交流,公众号:程序员小富 大家好,我是小富- 我有一个朋友- 做了一个小破站,现在要实现一个站内信web消息推送的功能,对,就是下图这个小红点,一个很常用的功能. 不过他还没想好用什么方式做,这里 ...
- 我有 7 种实现 web 实时消息推送的方案,7 种!
我有一个朋友,做了一个小破站,现在要实现一个站内信 web 消息推送的功能,对,就是下图这个小红点,一个很常用的功能. 不过他还没想好用什么方式做,这里我帮他整理了一下几种方案,并简单做了实现. 什么 ...
- 关于web端的消息推送方式转载
引言: 在互联网高速发展的时代里,web应用大有取代桌面应用的趋势,不必再去繁琐的安装各种软件,只需一款主流浏览器即可完成大部分常规操作,这些原因都在吸引着软件厂商和消费者.而随着各大厂商浏览器版本的 ...
- Web消息推送之SSE
文章目录 一.消息推送简介 1.消息推送介绍 2.几种方式介绍 二.SSE原理介绍 1.SSE基础概念 2.SSE特点 3.SSE与WebSocket异同 三.SSE推送实现 1.概述 1.1 使用S ...
- java 消息推送的几种方式比较
引言: 在互联网高速发展的时代里,web应用大有取代桌面应用的趋势,不必再去繁琐的安装各种软件,只需一款主流浏览器即可完成大部分常规操作,这些原因都在吸引着软件厂商和消费者.而随着各大厂商浏览器版本的 ...
最新文章
- 实例分析exec函数
- 科沃斯扫地机器人阿尔法_科沃斯扫地机器人app
- boost::mp11::mp_eval_or相关用法的测试程序
- MySQL部署2002_MySQL入门02-MySQL二进制版本快速部署
- 使用labview读取一副位图,并进行BCG校准(或修改其BCG)程序解析
- css复选框如何调大一些,创建CSS放大复选框
- python设计模式案例分析_Python设计模式之职责链模式原理与用法实例分析
- 听说社保不能补缴了,像我们这种没缴社保的打工者,该怎么办?
- python 类 字典_python基础类型—字典
- 解析offsetHeight,clientHeight,scrollHeight之间的区别
- oracle队列java_oracle 队列
- Java之力[从蛮荒到撬动地球]之设计模式
- 生物信息学在线服务器,48个实用的生信在线工具强烈推荐,不看是你的损失!...
- 联通手机服务器密码怎么修改,联通宽带手机修改wifi密码
- 如何设置电脑的保护色?
- docker-compose 启动微服务项目时,nacos容器一直无限重启Restarting (1) Less than a second ago
- 这10 部科幻电影、剧集,我推荐给产品经理们
- windows下,C++中调用命令行并且获取命令行的输出
- Python 常用的标准库以及第三方库有哪些?
- JAVA算法练习(2):振兴中华
热门文章
- java根据打印模板打印_java调用本地打印机,绘制打印模板,小票模板
- 使用Java实现哈夫曼编码(Huffman Coding)
- 远离单词记忆误区,考研单词就该这么背
- python实现情感分析_使用python+机器学习方法进行情感分析(详细步骤)
- python中0代表什么_python语言中,0.1**0.3表示什么_学小易找答案
- excel表格如何转换成word表格_excel转化为word表格怎么做?
- 群晖DS918+ 二合一 分区扩充教程
- 【渝粤教育】电大中专计算机应用基础 (2)_1作业 题库
- 迅雷可以下载的文件是forum.php,调用迅雷下载开放引擎下载文件
- pygame.surface.blit()方法4个参数的使用方法