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("您的浏览器不支持桌面消息");}
};

具体的基本使用方法就是这些。我们最好还是了解下它的详细属性。

但是很多属性在使用过程中没有发现具体的作用,除了上面代码中使用到的,我只发现了两个比较有用的:

  1. image 给通知添加一个图片内容。如图:

  1. 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实现消息推送及桌面提醒相关推荐

  1. web端消息推送的方式介绍

    1.goeasy  官方地址:http://www.goeasy.io/ 集成简单,自己可以在官网上去看官方文档,12个月免费!值得一试. 2.dwr推送:官方地址http://directwebre ...

  2. 【微信早安定时推送3.0最牛版】微信消息推送后 可提醒可顶置,聊天框名称,头像都可修改~

    微信早安3.0最牛版重磅推出!!! 全网最全最详细教程,无基础看过的都说好,不白找. 往期推送: 微信早安推送1.0版: https://blog.csdn.net/A_Xunla/article/d ...

  3. Web 实时消息推送详解

    title: Web 实时消息推送详解 category: 系统设计 head: meta name: keywords content: 消息推送,短轮询,长轮询,SSE,Websocket,MQT ...

  4. 7种 实现web实时消息推送的方案

    我有一个朋友- 做了一个小破站,现在要实现一个站内信web消息推送的功能,对,就是下图这个小红点,一个很常用的功能. 不过他还没想好用什么方式做,这里我帮他整理了一下几种方案,并简单做了实现. 什么是 ...

  5. 我有 7种 实现web实时消息推送的方案,7种!

    技术交流,公众号:程序员小富 大家好,我是小富- 我有一个朋友- 做了一个小破站,现在要实现一个站内信web消息推送的功能,对,就是下图这个小红点,一个很常用的功能. 不过他还没想好用什么方式做,这里 ...

  6. 我有 7 种实现 web 实时消息推送的方案,7 种!

    我有一个朋友,做了一个小破站,现在要实现一个站内信 web 消息推送的功能,对,就是下图这个小红点,一个很常用的功能. 不过他还没想好用什么方式做,这里我帮他整理了一下几种方案,并简单做了实现. 什么 ...

  7. 关于web端的消息推送方式转载

    引言: 在互联网高速发展的时代里,web应用大有取代桌面应用的趋势,不必再去繁琐的安装各种软件,只需一款主流浏览器即可完成大部分常规操作,这些原因都在吸引着软件厂商和消费者.而随着各大厂商浏览器版本的 ...

  8. Web消息推送之SSE

    文章目录 一.消息推送简介 1.消息推送介绍 2.几种方式介绍 二.SSE原理介绍 1.SSE基础概念 2.SSE特点 3.SSE与WebSocket异同 三.SSE推送实现 1.概述 1.1 使用S ...

  9. java 消息推送的几种方式比较

    引言: 在互联网高速发展的时代里,web应用大有取代桌面应用的趋势,不必再去繁琐的安装各种软件,只需一款主流浏览器即可完成大部分常规操作,这些原因都在吸引着软件厂商和消费者.而随着各大厂商浏览器版本的 ...

最新文章

  1. 实例分析exec函数
  2. 科沃斯扫地机器人阿尔法_科沃斯扫地机器人app
  3. boost::mp11::mp_eval_or相关用法的测试程序
  4. MySQL部署2002_MySQL入门02-MySQL二进制版本快速部署
  5. 使用labview读取一副位图,并进行BCG校准(或修改其BCG)程序解析
  6. css复选框如何调大一些,创建CSS放大复选框
  7. python设计模式案例分析_Python设计模式之职责链模式原理与用法实例分析
  8. 听说社保不能补缴了,像我们这种没缴社保的打工者,该怎么办?
  9. python 类 字典_python基础类型—字典
  10. 解析offsetHeight,clientHeight,scrollHeight之间的区别
  11. oracle队列java_oracle 队列
  12. Java之力[从蛮荒到撬动地球]之设计模式
  13. 生物信息学在线服务器,48个实用的生信在线工具强烈推荐,不看是你的损失!...
  14. 联通手机服务器密码怎么修改,联通宽带手机修改wifi密码
  15. 如何设置电脑的保护色?
  16. docker-compose 启动微服务项目时,nacos容器一直无限重启Restarting (1) Less than a second ago
  17. 这10 部科幻电影、剧集,我推荐给产品经理们
  18. windows下,C++中调用命令行并且获取命令行的输出
  19. Python 常用的标准库以及第三方库有哪些?
  20. JAVA算法练习(2):振兴中华

热门文章

  1. java根据打印模板打印_java调用本地打印机,绘制打印模板,小票模板
  2. 使用Java实现哈夫曼编码(Huffman Coding)
  3. 远离单词记忆误区,考研单词就该这么背
  4. python实现情感分析_使用python+机器学习方法进行情感分析(详细步骤)
  5. python中0代表什么_python语言中,0.1**0.3表示什么_学小易找答案
  6. excel表格如何转换成word表格_excel转化为word表格怎么做?
  7. 群晖DS918+ 二合一 分区扩充教程
  8. 【渝粤教育】电大中专计算机应用基础 (2)_1作业 题库
  9. 迅雷可以下载的文件是forum.php,调用迅雷下载开放引擎下载文件
  10. pygame.surface.blit()方法4个参数的使用方法