美文网首页前端
2018-08-16 浏览器本地推送功能

2018-08-16 浏览器本地推送功能

作者: 马丁路德东 | 来源:发表于2018-08-16 15:23 被阅读0次

本地推送功能(H5=》高版本浏览器)

此文件不能直接使用浏览器打开(直接打开浏览器测试的话chrome,则不能通过:直接打开文档 chrome上面的路径:会类似这种:file:///E:/vue/python/demo2.html)
chrome需要架设服务器方能使用,firefox直接打开文件是可以的

<!DOCTYPE html>
<html lang="en">
<head>
   <meta charset="UTF-8">
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   <meta http-equiv="X-UA-Compatible" content="ie=edge">
   <title>Document</title>
</head>
<body>
   <button onclick="notify('hello','提交上去了')">显示通知消息</button>
</body>
<script>
   //桌面提醒
function notify(title, content) {
       
       if(!title && !content){
           title = "桌面提醒";
           content = "您看到此条信息桌面提醒设置成功";
       }
       var iconUrl = "http://image.zhangxinxu.com/image/study/s/s128/mm1.jpg";
       
       if (window.webkitNotifications) {
           //chrome老版本
           if (window.webkitNotifications.checkPermission() == 0) {
               var notif = window.webkitNotifications.createNotification(iconUrl, title, content);
               notif.display = function() {}
               notif.onerror = function() {}
               notif.onclose = function() {}
               notif.onclick = function() {this.cancel();}
               notif.replaceId = 'Meteoric';
               notif.show();
           } else {
               window.webkitNotifications.requestPermission($jy.notify);
           }
       } else if("Notification" in window){
           // 判断是否有权限
           if (Notification.permission === "granted") {
               var notification = new Notification(title, {
                   "icon": iconUrl,
                   "body": content,
               });
           }
           //如果没权限,则请求权限
           else if (Notification.permission !== 'denied') {
               Notification.requestPermission(function(permission) {
                   // Whatever the user answers, we make sure we store the
                   // information
                   if (!('permission' in Notification)) {
                       Notification.permission = permission;
                   }
                   //如果接受请求
                   if (permission === "granted") {
                       var notification = new Notification(title, {
                           "icon": iconUrl,
                           "body": content,
                       });
                   }
               });
           }
       }
   }

</script>
</html>
效果大致如图,不同浏览器都有不同的样式

相关文章

  • 2018-08-16 浏览器本地推送功能

    本地推送功能(H5=》高版本浏览器) 此文件不能直接使用浏览器打开(直接打开浏览器测试的话chrome,则不能通过...

  • 本地推送闹钟功能实现

    本地推送闹钟功能实现 在ios10下使用UserNotifications用本地推送实现闹钟功能,只是实现了简单的...

  • Unity在iOS的本地推送功能

    Babybus-u3d技术交流-Unity在iOS的本地推送功能 Unity内部封装了在iOS下的本地推送功能,可...

  • 常用git命令记录

    tag |功能|代码||-|打本地tag| $git tag [tag]|本地tag推送到远程| $git pu...

  • 转的推送功能

    iOS的推送功能包括:远程推送以及本地推送,从iOS4到目前的iOS10,推送功能经历了多个版本的修改。现在做一个...

  • iOS-----本地推送

    本地推送和远程推送的功能是一样的,都是要提醒用户去做某些事情。本地推送是由App自己设定的,并且发送给安装此App...

  • iOS本地推送(swift版本)

    最近开始用swift做项目,在项目中用到了本地推送的功能,在这里给大家分享一下swift做本地推送的经验。第...

  • iOS 本地推送闹钟功能实现

    在AppDelegate中导入 import

  • 本地推送通知、远程推送通知、激光推送

    title : 本地推送通知、远程推送通知、激光推送category : UI 本地推送通知、远程推送通知、激光...

  • iOS - 10以后的本地通知

    参考文章OS 10 消息推送(UserNotifications)秘籍总结 1,本地推送 1,注册本地推送2,本地...

网友评论

    本文标题:2018-08-16 浏览器本地推送功能

    本文链接:https://www.haomeiwen.com/subject/xicobftx.html