奥门金沙手机娱乐网址 1

HTML5 web通知API介绍

HTML5 web通知API介绍

2015/04/17 · HTML5 · 2
评论 ·
web通知

本文由 伯乐在线 –
ElvisKang
翻译,周进林
校稿。未经许可,禁止转发!
法语出处:奥门金沙手机娱乐网址,www.sevensignature.com。应接参加翻译组。

奥门金沙手机娱乐网址 1

在行使网页版Gmail的时候,每当收到新邮件,显示屏的右下方都会弹出相应的提示框。依赖HTML5提供的Notification
API,大家也得以轻易完毕那样的作用。

接纳HTML5的Notification API制作web通告的学科,html5notification

那篇随笔首要介绍了使用HTML5的Notification
API制作web布告的学科,示例包蕴须要选取到的连锁CSS以致Javascript代码,须要的相爱的人能够参见下

在动用网页版Gmail的时候,每当收到新邮件,显示屏的右下方都会弹出相应的提醒框。依赖HTML5提供的Notification
API,我们也能够轻便达成如此的效能。
管教浏览器帮衬

若果你在特定版本的浏览器上扩充支付,那么笔者提出您先到 caniuse
查看浏览器对Notification
API的援助情状,幸免你将难得时间浪费在了三个不可能采用的API上。
哪些开首
 

JavaScript Code复制内容到剪贴板

  1. var notification=new Notification(‘Notification Title’,{  
  2.     body:’Your Message’   
  3. });   
  4.   

上边的代码布局了叁个简陋的通告栏。结构函数的首先个参数设定了通告栏的题目,而第1个参数则是一个option
对象,该对象可设置以下属性:

  •     body :设置通知栏的正文内容。
        dir
    :定义文告栏文本的显得方向,可设为auto(自动卡塔 尔(阿拉伯语:قطر‎、ltr(从左到右卡塔尔、rtl(从右到左卡塔尔。
        lang
    :评释通告栏内文本所使用的语种。(译注:该属性的值必得归属BCP 47
    language tag。卡塔尔国
        tag:为公告栏分配三个ID值,便于找出、替换或移除布告栏。
        icon :设置作为布告栏icon的图片的U兰德酷路泽L

得到权力

在呈现公告栏此前需向客商申请权限,唯有客户同意,通告栏才可出今后荧屏中。对权力申请的管理将有以下重返值:

  •    
    default:顾客管理结果未知,因此浏览器将视为客商拒却弹出公告栏。(“浏览器:你没须要布告,作者就不打招呼你了”卡塔尔国
        denied:客户谢绝弹出通告栏。(“顾客:从自家的荧屏里滚开”卡塔尔
       
    granted:客商同意弹出通告栏。(“顾客:应接!笔者很欢畅能够运用那么些通告功效”卡塔 尔(阿拉伯语:قطر‎
       
       

JavaScript Code复制内容到剪贴板

  1. Notification.requestPermission(function(permission){   
  2.     //display notification here making use of constructor
      
  3.     });   
  4.   

用HTML创造一个开关
 

XML/HTML Code复制内容到剪贴板

  1. <button id=”button”>Read your notification</button>  
  2.   

毫不遗忘了CSS
 

CSS Code复制内容到剪贴板

  1. #button{   
  2.   font-size:1.1rem;   
  3.   width:200px;   
  4.   height:60px;   
  5.   border:2px solid #df7813;   
  6.   border-radius:20px/50px;   
  7.   background:#fff;   
  8.   color:#df7813;   
  9. }   
  10. #button:hover{   
  11.   background:#df7813;   
  12.   color:#fff;   
  13.   transition:0.4s ease;   
  14. }   
  15.   

整套的Javascript代码如下:
 

JavaScript Code复制内容到剪贴板

  1. document.addEventListener(‘DOMContentLoaded’,function(){   
  2.         document.getElementById(‘button’).addEventListener(‘click’,function(){   
  3.             if(! (‘Notification’ in window) ){   
  4.                 alert(‘Sorry bro, your browser is not good enough to display notification’);
      
  5.                 return;   
  6.             }       
  7.             Notification.requestPermission(function(permission){   
  8.                 var config = {   
  9.                               body:’Thanks for clicking that button. Hope you liked.’,
      
  10.                               icon:”,
      
  11.                               dir:’auto’  
  12.                               };   
  13.                 var notification = new Notification(“Here I am!”,config);   
  14.             });   
  15.         });   
  16.     });   
  17.   

从这段代码能够看来,借使浏览器不扶助Notification
API,在点击开关时将晤面世警告“兄弟,很对不起。你的浏览器并不能够很好地支撑公告功效”(Sorry
bro, your browser is not good enough to display
notification卡塔 尔(阿拉伯语:قطر‎。不然,在得到了顾客的同意之后,我们自制的公告栏便得以出未来荧屏中间啦。

缘何要让顾客手动关闭公告栏?

对于这些主题素材,我们得以借助setTimeout函数设置三个时刻间距,使布告栏能按时关闭。
 

JavaScript Code复制内容到剪贴板

  1. var config = {   
  2.                body:’Today too many guys got eyes on me, you did the same thing. Thanks’,
      
  3.                icon:’icon.png’,   
  4.                dir:’auto’  
  5.              }   
  6. var notification = new Notification(“Here I am!”,config);   
  7. setTimeout(function(){   
  8.     notification.close(); //closes the notification   
  9. },5000);   
  10.   

该说的事物就那个了。倘令你意犹未尽,希望进少年老成步入木六分地问询Notification
API,能够阅读以下的页面:

    MDN
    Paul lund’s tutorial on notification API

在CodePen上查看demo

您能够在CodePen上观望由Prakash (@imprakash卡塔尔编写的demo。

API制作web文告的学科,html5notification
那篇小说首要介绍了选拔HTML5的Notification
API制作web通告的科目,示例包涵须求动用到…

点评:HTML5中的桌面指示(web
notifications卡塔 尔(阿拉伯语:قطر‎能够在当下页面窗口弹出三个新闻框,这些新闻框是跨Tab
窗口的,那在客户展开多少个 tab 浏览网页时,提示相比较便利,轻便让顾客观望

作保浏览器协助

设若您在一定版本的浏览器上海展览中心花销付,那么自个儿提议您先到
caniuse
查看浏览器对Notification
API的帮衬情状,防止你将难得时间浪费在了一个无法运用的API上。

HTML5中的桌面提示(web
notifications卡塔 尔(英语:State of Qatar)能够在前段时间页面窗口弹出三个音信框,这么些信息框是跨 Tab
窗口的,那在顾客展开多少个 tab
浏览网页时,提醒相比较方便,轻松让客户看见。最近生龙活虎旦是 webkit
内核帮衬该功效。
该意义在 chrome 下须要以 http 方式展开网页能力启用。
桌面提示功用由 window.webkitNotifications 对象完结(webkit内核卡塔 尔(阿拉伯语:قطر‎。
window.webkitNotifications 对象未有质量,有八个措施:
1.requestPermission()
  该格局用于向客商申请新闻提示权限,借使当前未有开放该权限,浏览器将弹出授权分界面,顾客授权后,在对象内部发生二个状态值(二个0、1或
2 的板寸卡塔尔国:
0:表示顾客同意音讯提醒,只在该情状下能够运用新闻提示成效;
1:表示暗中认可状态,客商既未谢绝,也未同意;
2:表示顾客拒却音讯指示。
2.checkPermission()   这些措施用于获取 requestPermission() 申请到的权能的情事值。
3.createNotification()
  那些法子以纯音讯的点子开创提示新闻,它担负八个字符串参数:
iconUEvoqueL:在音信中显得的图标地址,
title:音讯的标题,
body:新闻主体文本内容
该方法会再次回到贰个 Notification对象,能够针对这几个指标做越多的装置。
Notification 对象的特性与艺术:

什么起头

JavaScript

var notification=new Notification(‘Notification Title’,{ body:’Your
Message’ });

1
2
3
var notification=new Notification(‘Notification Title’,{
    body:’Your Message’
});

下边包车型大巴代码构造了一个简陋的通告栏。布局函数的率先个参数设定了公告栏的标题,而第二个参数则是一个option
对象,该对象可安装以下属性:

  • body :设置公告栏的正文内容。
  • dir
    :定义通知栏文本的来得方向,可设为auto(自动卡塔尔国、ltr(从左到右卡塔 尔(阿拉伯语:قطر‎、rtl(从右到左卡塔 尔(阿拉伯语:قطر‎。
  • lang
    :证明通告栏内文本所使用的语种。(译注:该属性的值必得归属BCP 47
    language tag。)
  • tag:为文告栏分配二个ID值,便于寻找、替换或移除布告栏。
  • icon :设置作为文告栏icon的图片的U奥迪Q3L

代码如下: