今天项目基本都提测完了,所有利用空闲时间,写两篇文章。上一篇《如何搭建node工程》想必大家有需要学习的都已经看过了。这篇文章最后展示出来的效果确实很棒,所以在这里,想记录下来,以后自己也可以看看。

还是和以前一样的套路,咱们一步一步将,这样看的思路很明了。


先看一下效果吧:

注意右下角,出现的弹出消息,我们实现的就是这样的效果。


效果看完了,接下来就进入分布讲解模式了………..

第一步:先写一个架子

接下来的代码都是在script标签里面写的,大家只要关心script标签里面的内容即可:

        <!DOCTYPE html><html><head lang="en"><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><meta charset="utf-8"><meta content="" name="description"><meta content="" name="keywords"><meta content="eric.wu" name="author"><meta content="application/xhtml+xml;charset=UTF-8" http-equiv="Content-Type"><meta property="qc:admins" /><meta content="telephone=no, address=no" name="format-detection"><meta content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no" name="viewport"><title>消息推送实例</title></head><body>查看右下角,的消息通知..........</body></html><script type="text/javascript"></script>

第二步:判断浏览器是否支持Web Notifications API

在这里判断是否支持Web Notifications API,只有支持这个东西,我们才能继续下来de 东西。

 function justify_notifyAPI(){if (window.Notification) {// 支持console.log("支持"+"Web Notifications API");} else {// 不支持console.log("不支持"+"Web Notifications API");}}

第三步:判断浏览器是否支持弹出实例

这里是一个弹框,判断浏览器是否支持弹出实例(图片地址换成你自己的地址即可)

function justify_showMess(){if(window.Notification && Notification.permission !== "denied") {Notification.requestPermission(function(status) {if (status === "granted") {var n = new Notification('收到信息:-O', {body: '这里是通知内容!你想看什么客官?',icon:"../../images/headerPic/QQ图片20160525234650.jpg"});} else{var n = new Notification("baby! i will leave you!");}});}}

第四步:实例展示弹出的内容

Notification构造函数的title属性是必须的,用来指定通知的标题,格式为字符串。options属性是可选的,格式为一个对象,用来设定各种设置。该对象的属性如下:

dir:文字方向,可能的值为auto、ltr(从左到右)和rtl(从右到左),一般是继承浏览器的设置。

lang:使用的语种,比如en-US、zh-CN。

body:通知内容,格式为字符串,用来进一步说明通知的目的。

tag:通知的ID,格式为字符串。一组相同tag的通知,不会同时显示,只会在用户关闭前一个通知后,在原位置显示。

icon:图表的URL,用来显示在通知上。


        function otification_construct(){var notification = new Notification('收到新邮件', {body: '您有1封来自雪静的未读邮件。',dir: "auto",lang:"zh-CN",tag: "a1",icon:"../../images/headerPic/772513932673948130.jpg"});console.log(notification.title); // "收到新邮件"console.log(notification.body); // "您总共有3封未读邮件。"}

第五步:Notifications API的相关事件

Notification实例会触发以下三种事件:

show:通知显示给用户时触发。

click:用户点击通知时触发。

close:用户关闭通知时触发。

error:通知出错时触发(通知无法正确显示时出现)。

这些事件有对应的onshow、onclick、onclose、onerror方法,用来指定相应的回调函数。addEventListener方法也可以用来为这些事件指定回调函数。


    function otification_event(){var MM = new Notification("Hi! My beautiful little princess!",{body: '您有1封来外太空的邮件。',icon:"../../images/headerPic/20100114212301-1126264202.jpg"});MM.onshow = function() {console.log('Notification showning!');};MM.onclick = function() {console.log('Notification have be click!');};MM.onerror = function() {console.log('Notification have be click!');// 手动关闭MM.close();};}

这里基本功能已经讲解完毕,这里附上上面效果的Demo源码:

<!DOCTYPE html><html><head lang="en"><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><meta charset="utf-8"><meta content="" name="description"><meta content="" name="keywords"><meta content="eric.wu" name="author"><meta content="application/xhtml+xml;charset=UTF-8" http-equiv="Content-Type"><meta property="qc:admins" /><meta content="telephone=no, address=no" name="format-detection"><meta content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no" name="viewport"><title>Web Notifications API</title></head><body>查看右下角,的消息通知..........</body></html><script type="text/javascript">window.onload= function(){justify_notifyAPI();     //判断浏览器是否支持 Web Notifications APIjustify_showMess();      //浏览器是否支持弹出实例otification_construct(); //实例展示弹出的内容otification_event();     //Notifications API的相关事件 }//判断浏览器是否支持 Web Notifications API function justify_notifyAPI(){if (window.Notification) {// 支持console.log("支持"+"Web Notifications API");} else {// 不支持console.log("不支持"+"Web Notifications API");}}//浏览器是否支持弹出实例function justify_showMess(){if(window.Notification && Notification.permission !== "denied") {Notification.requestPermission(function(status) {if (status === "granted") {var n = new Notification('收到信息:-O', {body: '这里是通知内容!你想看什么客官?',icon:"../../images/headerPic/QQ图片20160525234650.jpg"});// alert("Hi! this is the notifyMessages!");} else{var n = new Notification("baby! i will leave you!");}});}}// 实例展示弹出的内容function otification_construct(){var notification = new Notification('收到新邮件', {body: '您有1封来自雪静的未读邮件。',dir: "auto",lang:"zh-CN",tag: "a1",icon:"../../images/headerPic/772513932673948130.jpg"});console.log(notification.title); // "收到新邮件"console.log(notification.body); // "您总共有3封未读邮件。"}//Notifications API的相关事件function otification_event(){var MM = new Notification("Hi! My beautiful little princess!",{body: '您有1封来外太空的邮件。',icon:"../../images/headerPic/20100114212301-1126264202.jpg"});MM.onshow = function() {console.log('Notification showning!');};MM.onclick = function() {console.log('Notification have be click!');};MM.onerror = function() {console.log('Notification have be click!');// 手动关闭MM.close();};}</script>

JS制作常见通知信息(适用于手机通知信息和电脑通知信息)相关推荐

  1. 鲁大师计算机硬件信息查看软件,鲁大师怎么测试电脑硬件信息和性能并保存?...

    朋友们在聊起各自电脑硬件信息问题时,对一些刚学习电脑的朋友来说很尴尬,处于面子问题,不知道怎么回答才好,现在有没有怎么快速的查看电脑硬件信息和性能测试并保存的方法,当然有了,方法也是很多的,这里小编就 ...

  2. html js 获取手机设备信息(手机厂商、操作系统、浏览器信息等) mobile-detect.js

    引入js <script src="https://cdn.bootcdn.net/ajax/libs/mobile-detect/1.4.5/mobile-detect.min.js ...

  3. 导出计算机配置信息吗,怎么导出电脑配置信息

    知道怎么导出电脑配置信息吗,该怎么导出电脑配置信息呢?下面是学习啦小编收集整理的怎么导出电脑配置信息,希望对大家有帮助~~ 导出电脑配置信息的方法 工具/原料 电脑管家 电脑 方法/步骤 百度一下&q ...

  4. 错误请联系管理员文件 index.php,帝国CMS订单、反馈信息、投稿与留言发邮件通知管理员的方法...

    本文将为关注织梦者的朋友提供的是的帝国CMS订单.反馈信息.投稿与留言发邮件通知管理员的方法相关教程,具体实例代码请看下文: 本文实例讲述了帝国CMS订单.反馈信息.投稿与留言发邮件通知管理员的方法. ...

  5. 【调剂】中国人民大学信息学院2021年专业硕士研究生(电子信息专业 非全日制) 接收调剂的通知...

    点击文末的阅读原文或者公众号界面左下角的调剂信息或者公众号回复"调剂"是计算机/软件等专业的所有调剂信息集合,会一直更新的. 信息学院2021年专业硕士研究生(电子信息专业 非全日 ...

  6. EZview设置好报警通知如何实现手机接到消息提示音

    EZview设置好报警通知如何实现手机接到消息提示音 步骤一:打开客户端的告警通知--选择需要开启的设备的通知开关,点击高级配置,选择报警类型.      步骤二: 打开手机设置--通知,允许通知开启 ...

  7. 上交大计算机推免生源学校,2020上海交通大学电子信息与电气工程学院推免夏令营通知...

    为了2020考研的考生可以更方便的了解院校推免推免工作,及时获取院校推免信息,中公考研小编为大家分享"2020上海交通大学电子信息与电气工程学院推免夏令营通知"相关内容, 希望可以 ...

  8. 【JavaScript学习笔记2】JS中常见的输出方式-控制台输出信息

    引言 在编程开发的过程中,输出信息是非常必要的.JS中提供了四种输出方式:弹出显示框.控制台输出.弹出输入框.弹出判断显示框 弹出显示框 这种方式在上一篇笔记中已经详细介绍,有需要学习的朋友可以跳转到 ...

  9. 使用html+css+js制作小米首页

    文章目录 使用html+css+js制作小米首页 1.html制作小米官网页面结构(`index.html`) 2.使用css设置公共样式(`base.css`) 3.使用css设置页面元素样式(`i ...

最新文章

  1. 挑战王者荣耀“绝悟” AI,我输了!
  2. java中字节输入流和输出流的简单使用例子
  3. mvc UrlHelper
  4. uni-app——Vue3简单整合uView@1.8.4解决方案
  5. wxWidgets:wxScopedArray< T >类模板的用法
  6. 设计模式总结篇系列:工厂方法模式(Factory Method)
  7. .NET平台依赖注入机制及IoC的设计与实现
  8. laravel log 对象_swoole运行模式加速laravel应用的详细介绍(life)
  9. 复试复旦大学计算机博士,【华慧推荐】2018年复旦大学博士面试成功经验分享...
  10. 利用大数据构建智能交通
  11. conda创建的环境,打包下载,然后在其他设备离线安装环境,python部署时需要依赖,通过conda一步解决依赖迁移问题
  12. Installer - 使用Maven自动布署至外部Tomcat
  13. Civil3D绘制路线
  14. 计算机组成原理汉字编码与校验设计实验报告(汉字国标码转区位码实验、汉字机内码获取实验、海明编码电路设计与海明解码)
  15. 【清华大学陈渝】第一章 操作系统概述
  16. 小型企业网的搭建(企业网三层架构)
  17. This means it will render an <Outlet /> with a null value by default resulting in an “empty“ page.
  18. DEEPIN系统下安装wine
  19. PayPal被冻结怎么办?防止PayPal账户冻结和解冻的方法
  20. Iteratot(迭代器模式) 行为型

热门文章

  1. Redis 6.0 如何实现大幅度的性能提升?
  2. 使用JestClient操作ElasticSearch
  3. Spark MLlib学习笔记之二——Spark Mllib矩阵向量
  4. [Hadoop in China 2011] 华为 - NoSQL/NewSQL在传统IT产业的机遇和挑战
  5. 用Freemind画“脑图”
  6. ansible+heartbeatV2构建高可用群集
  7. Shallow and retained sizes
  8. subst命令镜像虚拟磁盘指南(原创)
  9. Ruby BigDecimal库拒绝服务漏洞
  10. 商战特训营 竞合赛场显英才