这几天研究了一下浏览器的notification通知API的使用,使用它的好处是,当浏览器不是当前打开的窗口时,如果页面上调用了notification API的话,会在桌面上弹出小窗口显示一条消息。并且这个消息可以接受几个事件,如click。这样用来做消息提醒还是不错的。
为了学习它,我参考了几篇关于notification的文章和项目 。目前主要支持的浏览器是chrome, firefox, Safari。在前面的项目中,在win7的ie9下也有一种通知形式,只不过它是在ie9的图标上显示一个小图标,和其它的效果差距比较大,而且为了启用它,还要将打开的页面pin到任务栏上去(就是拖动那个tab页到任务栏上)。
我还参考了其它的几个项目,觉得这个项目还是比较简单的。不过个人感觉我要的比较简单,所以我在它的基础上进行了修改,并且创建了一个项目名字叫desktopnotify。目前只支持chrome。如果你对这个感兴趣可以进入github的项目主页,上面有说明。下载后还可以运行示例。
在试验的过程中发现,如果你的chrome的通知是不允许(它一共有三个状态:允许,不允许和禁止)。对于不允许,是可以调用requestPermission来要求用户打开的,但是直接在console中运行测试是不行的,需要在页面中通过绑定点击或按键事件来执行,以确保是用户行为。所以这个要注意。因此有可能你需要某种方式来提醒用户打开提醒功能。
对于提醒,chrome也有菜单可以进行调整,如禁止或启动等。
desktopnotify项目地址 https://github.com/limodou/desktopnotify
来源:oschina
链接:https://my.oschina.net/u/271738/blog/164471