用HTML5实现桌面提醒功能的一个实例代码


本文摘自PHP中文网,作者零下一度,侵删。

桌面提醒的介绍

桌面通知功能能够让浏览器即使是最小化状态也能将消息通知给用户。这和WebIM是最为天然的结合。不过,目前支持Desktop Notification功能的浏览器只有Chrome5+。在实际使用的过程中,应该尽量减少通知功能对用户的干扰,最大程度的减少通知功能的出现,这就需要解决以下几个问题:

  • 1. 收到多条消息时确保只出现一条通知;

  • 2. 当用户处于IM出现的页面中时(页面处于Focus状态)将不出现通知;

  • 3. 当用户使用多Tab开启多个存在IM的页面时,只要有一个页面处于Focus状态将不出现通知;

  • 4. 如何让用户点击通知浮动层即可定位到具体的聊天窗口

  • 5.此外,还需要解决一个便利性问题

桌面提醒Notification的API

window.webkitNotifications

  • requestPermission 请求通讯许可

  • checkPermission 检查通讯许可

  • createNotification 创建通讯

  • show 显示通知

代码实现

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

<!DOCTYPE HTML>

<html>

<head

<meta charset="gbk"

<title>Creating OS notifications in HTML5</title>

</head>

<body>

<input type="button" value="验证授权" onclick="init();" />

<input type="button" value="弹出消息" onclick="notify();" />

 

    <script type="text/javascript">

        const miao = 5;

 

        function init() {

            if (window.webkitNotifications) {

                window.webkitNotifications.requestPermission();

            }

        }

 

        function notify() {

            var icon = "logo.png";

            var title = "Hello World";

            var body =  "You Are My World (5秒后自动关闭)";

 

            if (window.webkitNotifications) {

                if (window.webkitNotifications.checkPermission() == 0) {

                    var popup = window.webkitNotifications.createNotification(icon, title, body);

                    popup.ondisplay = function(event) {

                        setTimeout(function() {

                            event.currentTarget.cancel();

                        }, miao * 1000);

                    }

                    popup.show();

                    popup.show();

                } else {

                    window.webkitNotifications.requestPermission();

                    return;

                }

            }

        }

    </script>

 

</body>

</html>

需要学习html5的同学请关注php中文网html5视频教程,众多html5在线视频教程可以免费观看!

以上就是用HTML5实现桌面提醒功能的一个实例代码的详细内容,更多文章请关注木庄网络博客

相关阅读 >>

怎样使用h5调用摄像头

HTML5 mark标签是什么意思?HTML5 mark标签的作用又是什么?

HTML5仿amd9官网酷炫的下载引导页动画特效的示例代码

HTML5 video视频字幕的使用和制作方法

HTML5音频与视频问题及解决方法

关于老版本的浏览器不兼容h5和c3的处理方法

HTML5超链接字体如何改颜色

彻底理解css中视觉格式化模型(附示例)

浅谈HTML5的未来发展

HTML5容易被忽略的小知识

更多相关阅读请进入《HTML5》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...