译文来源:http://www.ido321.com/1130.html

原文:HTML 5 Notification

译文:HTML 5 的消息通知机制

译者:dwqs

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMTA0Mzg0Mw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

HTML 5 已经被应用到Web开发中。

跟寻常一样。不论什么一个软件新版本号的公布都期待一些新的特性。这对HTML 5也不例外。

为了只通过HTML提高用户交互,HTML 5已经提供了非常多新的API。

是不是很有趣呢?而且HTML 5已经和CSS 3结合的很棒了。

因此,我也開始写一系列与HTML 5的API相关的文章来介绍API的使用和功能。比如Geolocation, Notification, File, 等等,第一篇文章是和Notification API相关。

首先要意识到是。HTML 5的特性和API仅能在支持HTML 5的浏览器中正常使用,假设浏览器不支持HTML 5,就不能使用HTML 5在网页中实现不论什么一个功能了。如今就来了解一下notification API吧。

什么是HTML 消息通知?

HTML消息通知是指我们能够告诉用户一个确定的事件行为,即使此时用户在浏览器的还有一个选项卡。这个通知对于New Mail, New Tweet等事件是很实用的。

怎么使用?

要使用Notification API,有几个步骤:首先,要从用户那里获取显示通知的许可,仅仅有当用户同意时,才干显示通知给用户。

所以先要征求用户的许可而不是直接显示通知。然后,

获取用户许可之后。我们能够显示两种类型的信息:

  1. Normal/Default Notification
  2. HTML Notification

最后运行通知代码。

我已经创建了一个显示通知的JavaScript函数,注意:函数仅限用于这篇文章,由于有非常多种方式能够依照每一个人的需求去扩展。

HTML:

<h2>Show Normal Notification</h2>
<button class="btn btn-success" id="show_notification">
Normal Notification
</button> <h2>Show HTML Notification</h2>
<button class="btn btn-success" id="show_html_notification">
HTML Notification
</button>

JavaScript

// Function to show Notification
function createNotification(type)
{
if(type == '')
type = 'normal'; if(type != 'html')
{
var title ="You have received HTML 5 Notification";
var msg="Content Goes Here......";
var notification = window.Notifications.createNotification("1.png", title, msg);
}
else
{
var notification = window.Notifications.createHTMLNotification('content.html');
}
notification.show();
} // Binding the Click event on buttons. $(document).ready(function ()
{
if (window.webkitNotifications)
{
window.Notifications = window.webkitNotifications;
$('#show_notification').click(function ()
{
if (window.Notifications.checkPermission() == 0)
{
createNotification('normal');
}
else
{
window.Notifications.requestPermission();
}
}); $('#show_html_notification').click(function ()
{
if (window.Notifications.checkPermission() == 0)
{
createNotification('html');
}
else
{
window.Notifications.requestPermission();
}
});
}
else
{
alert('HTML 5 Notifications are not supported on this browser/OS.');
}
});
     Demo
 
           查看Demo: live demo (ps:用Web Kit浏览器打开,此文写于2012.04)
 
     总结
             HTML 5 notification适用于像Google Chrome一样的Web Kit浏览器,对于HTML 5 notification,Mozilla Firefox有其自己的私有属性。我将在其他文章中介绍。

下一篇:Ajax异步请求PHP数据

杂谈:HTML 5的消息通知机制的更多相关文章

  1. HTML 5的消息通知机制

    译文来源:http://www.ido321.com/1130.html 原文:HTML 5 Notification 译文:HTML 5 的消息通知机制 译者:dwqs HTML 5 已经被应用到W ...

  2. iOS开发-消息通知机制(NSNotification和NSNotificationCenter)

    iOS中委托模式和消息机制基本上开发中用到的比较多,一般最开始页面传值通过委托实现的比较多,类之间的传值用到的比较多,不过委托相对来说只能是一对一,比如说页面A跳转到页面B,页面的B的值改变要映射到页 ...

  3. 消息通知机制(NSNotification和NSNotificationCenter)

    作者:FlyElephant 出处:http://www.cnblogs.com/xiaofeixiang iOS中委托模式和消息机制基本上开发中用到的比较多,一般最开始页面传值通过委托实现的比较多, ...

  4. odoo开发笔记--字段追踪,消息通知机制

    odoo有着强大的消息记录.通知机制: 实际开发中,常常会有客户的需求,页面上form视图中的某些字段不允许反复修改, 假如有的用户修改了,恶意搞坏,往往容易给公司利益造成损失,或破坏,那么如何有效的 ...

  5. Android学习系列(7)--App消息通知机制

    有人说,程序员很安静,但我不完全同意,程序员的聒噪,是藏在代码后面,是藏在程序后面.这篇文章是Android开发人员的必备知识,是我特别为大家整理和总结的,不求完美,但是有用. 1.消息推送机制    ...

  6. TOPAPI 消息通知机制

    接收用户订阅消息 public class UserSubMain { public static void main(String[] args ) throws ApiException { St ...

  7. MVVMLight消息通知实现机制详解(一)

    最近对委托.事件的订阅使用的太多,订阅与被订阅之间的绑定约束非常...麻烦,所以翻了下MVVMLight源码找出这段可以拿出来用的部分,详情见下: 一.开发中遇到的问题: 场景1:ClassA中存在事 ...

  8. java多线程系列(三)---等待通知机制

    等待通知机制 前言:本系列将从零开始讲解java多线程相关的技术,内容参考于<java多线程核心技术>与<java并发编程实战>等相关资料,希望站在巨人的肩膀上,再通过我的理解 ...

  9. 使用 MVVMLight 消息通知

    欢迎阅读我的MVVMLight教程系列文章<关于 MVVMLight 设计模式系列> 在文章的其实我们就说了,MVVMLight的精华就是消息通知机制,设计的非常不错.这个东西在MVVML ...

随机推荐

  1. 【CF1015E】Stars Drawing(贪心)

    题意:给定一个n×m大小的字符矩阵,仅由‘.’和‘*’组成,询问这个图可否划分为一些由‘*’组成的十字形状,这些十字之间可以有重叠, 如果存在方案则输出每个十字中心坐标与边长度,无解输出-1 n,m& ...

  2. .NET and php

    原文发布时间为:2011-12-29 -- 来源于本人的百度文章 [由搬家工具导入] http://www.php-compiler.net/blog/2011/phalanger-3-0

  3. 为图片添加文字 canvas

    <!DOCTYPE html><html><head><meta http-equiv="Content-Type" content=&q ...

  4. 利用linux信号机制调试段错误(Segment fault)【转】

    转自:http://blog.csdn.net/ab198604/article/details/6164517 版权声明:本文为博主原创文章,未经博主允许不得转载. 在实际开发过程中,大家可能会遇到 ...

  5. python - break和continue

    break 终止整个循环:当循环或判断执行到break语句时,即使判断条件为True或者序列尚未完全被历遍,都会跳出循环或判断 for i in xrange(10): print(i) if i = ...

  6. 【剑指offer】数组中重复的数字

    题目描述 在一个长度为n的数组里的所有数字都在0到n-1的范围内. 数组中某些数字是重复的,但不知道有几个数字是重复的.也不知道每个数字重复几次.请找出数组中任意一个重复的数字. 例如,如果输入长度为 ...

  7. AC日记——【模板】KMP字符串匹配 洛谷 3375

    题目描述 如题,给出两个字符串s1和s2,其中s2为s1的子串,求出s2在s1中所有出现的位置. 为了减少骗分的情况,接下来还要输出子串的前缀数组next.如果你不知道这是什么意思也不要问,去百度搜[ ...

  8. autofac 用法总结

    autofac官网: http://autofaccn.readthedocs.io/en/latest/getting-started/index.html autofac作为一个热门ioc框架,还 ...

  9. 洛谷——P1996 约瑟夫问题

    P1996 约瑟夫问题 (什么?!要给学弟学妹讲约瑟夫问题?!难道就不怕我给他们讲错了吗?! 啊啊啊,为了不给学弟学妹们讲错,蒟蒻表示要临阵磨一下刀...) 题目背景 约瑟夫是一个无聊的人!!! 题目 ...

  10. ActiveMQ 权限(二)

    在 ActiveMQ 权限(一) 配置了对消息队列的权限,以下设置完成消息的权限,比如只接受某ip的消息. 两步完成, 第一步:继承接口org.apache.activemq.security.Mes ...