var webNotification = {
init: function() {
if(!this.isSupport()) {
console.log('不支持通知');
return;
}
this.initElement();
this.initPermission();
},
isSupport: function() {
return !!window.Notification;
},
element: null,
isPermission: false,
initElement: function() {
var element = document.createElement('button');
element.type = 'button';
element.style = 'position: absolute;top: -100px;';
element.onclick = function() {
Notification.requestPermission(function(result) {
console.log('result:' + result);
if(result === 'granted') {
this.isPermission = true;
} else {
this.isPermission = false;
}
}.bind(this));
}.bind(this);
document.body.appendChild(element);
this.element = element;
},
initPermission: function() {
this.element.click();
},
notify: function(title, options, clickCallback, closeCallback) {
var notification = new Notification(title, options);
notification.onclick = clickCallback;
notification.onclose = closeCallback;
return notification;
}
};

初始化

webNotification.init();

测试

webNotification.notify('我是标题', {
body: '我是通知内容',
icon: '/favicon.ico',
}, function() {
alert('我点击了通知');
}, function() {
alert('我关闭了通知');
});

HTML5之Notification简单使用的更多相关文章

  1. 学习笔记:HTML5 Canvas绘制简单图形

    HTML5 Canvas绘制简单图形 1.添加Canvas标签,添加id供js操作. <canvas id="mycanvas" height="700" ...

  2. CSS3+HTML5特效9 - 简单的时钟

    原文:CSS3+HTML5特效9 - 简单的时钟 效果演示(加快了100倍)         实现原理 利用CSS3的transform-origin 及 transform 完成以上效果. 代码及说 ...

  3. html5滚动页面简单写法

    html5滚动页面简单写法纵向滚动比较简单 直接在外面加个高度 然后overflow-y: auto; 横向比较复杂了外面写两层 最外面一层写个宽度 overflow-x: auto;第二层 写wid ...

  4. [HTML5游戏开发]简单的《找不同汉字版》,来考考你的眼力吧

    本次 游戏 开发需要用到lufylegend.js开源游戏引擎,版本我用的是1.5.2(现在最新的版本是1.6.0).    引擎下载的位置: http://lufylegend.googlecode ...

  5. [HTML5游戏开发]简单的《找没有同汉字版〗爆去考考您狄综力吧

    [color=ize:18px]一,筹办工做   本次 游戏开发需求用到lufylegend.js开源游戏引擎,版本我用的是1.5.2(如今最新的版本是1.6.0).    引擎下载的位置:http: ...

  6. HTML5 — Wed Storage简单示例

    一.Wed Storage 概述 Wed Storage功能:在Wed上储存数据的功能,这里的储存是针对客户端本地而言的. 具体分为两种: sessionStorage,将数据保存在session对象 ...

  7. 使用HTML5的Notification API制作web通知的教程(转)

    var notification=new Notification(‘Notification Title',{ body:'Your Message' }); 上面的代码构造了一个简陋的通知栏.构造 ...

  8. 【Cocos2d-HTML5 开发之一】新建HTML5项目及简单阐述与cocos2d/x引擎关系

    真的是有一段时间没写博了,这段时间呢,发生的事情真的挺多,另外自己呢也闲来做了一些自己的喜欢的东西,主要做的还是基于Mac系统的Cocoa框架的各种编辑器吧.(对了,今年初也出了自己第二本书<i ...

  9. 让更多浏览器支持html5元素的简单方法

    当我们试图使用web上的新技术的时候,旧式浏览器总是我们心中不可磨灭的痛!事实上,所有浏览器都有或多或少的问题,现在还没有浏览器能够完整的识别和支持最新的html5结构元素.但是不用担心,你依然可以在 ...

随机推荐

  1. redis4.0 集群,jedis客户端连接配置

    使用jedis 2.9.0连接,异常信息: redis.clients.jedis.exceptions.JedisDataException: ERR Client sent AUTH, but n ...

  2. BZOJ2001: [Hnoi2010]City 城市建设

    题目:http://www.lydsy.com/JudgeOnline/problem.php?id=2001 cdq分治+重建图. 可以保留当前一定会被选的非修改边然后把点缩起来.这样的话每次点数至 ...

  3. B. Secret Combination

    B. Secret Combination time limit per test 2 seconds memory limit per test 256 megabytes input standa ...

  4. 在Sql Server Intergration Service中设置Catalog下所部署所有项目的参数值

    在Sql Server 2012开始,微软给SSIS添加了Project Model这种新的项目类型,与之对应的是在Sql Server数据库引擎中引入了Intergration Services C ...

  5. [C#]使用控制台获取天气预报

    本例子主要是使用由中央气象局网站(http://www.nmc.gov.cn)提供的JSON API,其实现思路如下: 1.访问获取省份(包含直辖市.自治区等,以下简称省份)的网址(http://ww ...

  6. HDU 2412 Farm Irrigation

    题目: Benny has a spacious farm land to irrigate. The farm land is a rectangle, and is divided into a ...

  7. WPF DataTrigger数据触发器

    1.通过绑定的属性值变化,动态改变界面的显示,比如绑定了IsExpanded,当为true,grid高度变成600,反之,grid高度变成320. <Grid.Style> <Sty ...

  8. TP框架自带的正则验证的规则

    thinkphp框架里面自带有很多自动验证的规则,下面是框架自带的正则验证的规则,官方的说明文档里面没有这么多,所以记下来,以备使用. view sourceprint? 01 static $reg ...

  9. 邓_ Jqery·笔记本【照片】

    -------------------------------------------------------------------------------------------- [PHP] - ...

  10. zTree中父节点禁用,子节点可以用

    参考学习网址:http://www.treejs.cn/v3/main.php#_zTreeInfo zTree中父节点禁用,子节点可以用 axios.get('/base/unit/unittree ...