斗鱼扩展--notifications提示(十二)
来说下 桌面通知 Notification,HTML5支持 Web Notifications 的实例,但是要经过用户允许,
chrome://settings/content/notifications
设置/高级设置/内容设置/通知 里查看哪些是禁止或授权的,还可以在网页栏左边查看
代码如下
if (window.Notification) {
if (Notification.permission != "granted") {
Notification.requestPermission(function (permission) {
MyNotification();
});
}else{
MyNotification();
}
//禁止了弹窗
function MyNotification() {
if (Notification.permission == "granted") {
var notification = new Notification("标题", {
body: "内容",
icon: "https://www.baidu.com/img/bd_logo1.png"
});
//消息框被点击事件
notification.onclick = function () {
notification.close();
};
notification.onshow = function () {
setTimeout(function () {
notification.close();
}, 5000);
};
}
}
} else {
alert("不支持Notification");
}
效果如下:
Chrome 自己的notifications 的授权是在manifest.json 文件中,需要用户点击授权按钮。
事说下扩展结构 ,3个文件,manifest.json,一个js文件,一个图片icon文件。
manifest.json 代码如下
{
"manifest_version": 2,
"name": "消息提示",
"version": "1.0.0",
"permissions": [
"notifications"
],
"background": {"scripts": [
"notifications.js"
]}
}
notifications.js 代码如下
/* 桌面消息通知
* _msg 消息内容
* _title 标题
* _ico 图标
* _time 多少毫秒后销毁
*/
function myNotification(_msg,_title,_ico,_time){
var ico = _ico || "ico/icon.png";
var title = _title || "通知";
var msg = String(_msg)|| "消息!";
var time = _time || 5000;
//显示一个桌面通知
if(window.webkitNotifications){
var notification = window.webkitNotifications.createNotification(ico,title,msg);
notification.show();
setTimeout(function(){notification.cancel();}, time);
}else if(chrome.notifications){
var opt = {
type: 'basic',
title: title,
message: msg,
iconUrl:ico,
}
chrome.notifications.create('', opt, function(id){
setTimeout(function(){
chrome.notifications.clear(id, function(){});
}, time);
});
}
};
这段代码是运行在 后台的,所以只能后台调用
如 myNotification("标题","你好世界");
这样就能 以弹窗的形式 ,提示用户 已抢了多少宝箱了,,收益如何。。
斗鱼扩展--notifications提示(十二)的更多相关文章
- 「十二省联考 2019」皮配——dp
题目 [题目描述] #### 题目背景一年一度的综艺节目<中国好码农>又开始了.本季度,好码农由 Yazid.Zayid.小 R.大 R 四位梦想导师坐镇,他们都将组建自己的梦想战队,并率 ...
- 「十二省联考 2019」字符串问题——SAM+DAG
题目 [题目描述] Yazid 和 Tiffany 喜欢字符串问题.在这里,我们将给你介绍一些关于字符串的基本概念. 对于一个字符串 $S$, 我们定义 $\lvert S\rvert$ 表示 $S$ ...
- NeHe OpenGL教程 第二十二课:凹凸映射
转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...
- 《Linux命令行与shell脚本编程大全》 第二十二章 学习笔记
第二十二章:使用其他shell 什么是dash shell Debian的dash shell是ash shell的直系后代,ash shell是Unix系统上原来地Bourne shell的简化版本 ...
- Python开发【第二十二篇】:Web框架之Django【进阶】
Python开发[第二十二篇]:Web框架之Django[进阶] 猛击这里:http://www.cnblogs.com/wupeiqi/articles/5246483.html 博客园 首页 ...
- SQL Server 2008空间数据应用系列十二:Bing Maps中呈现GeoRSS订阅的空间数据
原文:SQL Server 2008空间数据应用系列十二:Bing Maps中呈现GeoRSS订阅的空间数据 友情提示,您阅读本篇博文的先决条件如下: 1.本文示例基于Microsoft SQL Se ...
- 【OpenCV新手教程之十二】OpenCV边缘检測:Canny算子,Sobel算子,Laplace算子,Scharr滤波器合辑
本系列文章由@浅墨_毛星云 出品,转载请注明出处. 文章链接:http://blog.csdn.net/poem_qianmo/article/details/25560901 作者:毛星云(浅墨) ...
- java之jvm学习笔记六-十二(实践写自己的安全管理器)(jar包的代码认证和签名) (实践对jar包的代码签名) (策略文件)(策略和保护域) (访问控制器) (访问控制器的栈校验机制) (jvm基本结构)
java之jvm学习笔记六(实践写自己的安全管理器) 安全管理器SecurityManager里设计的内容实在是非常的庞大,它的核心方法就是checkPerssiom这个方法里又调用 AccessCo ...
- Alamofire源码解读系列(十二)之请求(Request)
本篇是Alamofire中的请求抽象层的讲解 前言 在Alamofire中,围绕着Request,设计了很多额外的特性,这也恰恰表明,Request是所有请求的基础部分和发起点.这无疑给我们一个Req ...
随机推荐
- Swift3.0 UICollectionView简单使用
感觉swift各版本语法改动太大,储备着吧
- Java从入门到放弃——03.循环和判断
本文目标 选择结构:if,switch 循环结构:for , foreach ,while,do while 跳出语句:break,continue 1.选择结构 if: if(判断语句){ } s ...
- 编译安装log4cxx
1.介绍 Log4cxx是开放源代码项目Apache Logging Service的子项目之一,是Java社区著名的log4j的c++移植版,用于为C++程序提供日志功能,以便开发者对目标程序进行调 ...
- ios配置xmpp即时聊天-服务器端
一.安装 到MySQL官网上http://dev.mysql.com/downloads/mysql/,下载mysql可安装dmg版本 比如:Mac OS X ver. 10.7 (x86, 64-b ...
- clang -O3 for循环的LLVM IR
O3都是怪物,这里分析的是CLANG怪物,示例程序遍历数组每个元素然后放大. void foreach_scale(int arr[],int elem){ for(int i=0;i<elem ...
- kuangbin专题七 POJ3468 A Simple Problem with Integers (线段树或树状数组)
You have N integers, A1, A2, ... , AN. You need to deal with two kinds of operations. One type of op ...
- N - 嘤嘤嘤 (并查集+枚举)
Our lovely KK has a difficult Social problem. A big earthquake happened in his area. N(2≤N≤2000)N(2≤ ...
- tp5分组查询
$data=DB::name('goods_common')->alias('a')->join('all580_goods_attractions w','a.common_id = w ...
- python3 发送QQ邮件
from email.header import Headerfrom email.mime.text import MIMETextfrom smtplib import SMTP_SSL emai ...
- 新磁盘创建lvm并挂载
### .查看硬盘 fdisk -l ### 删除分区 fdisk /dev/sdc ### 按d删除,按w保存并退出 ### 创建pv pvcreate /dev/sdc ### 创建 vg vgc ...