简易html页面调用api(如何使用 HTML5 的 Notification API)

:暂无数据 2026-07-07 19:00:02 :0

简易html页面调用api(如何使用 HTML5 的 Notification API)

今天给各位分享如何使用 HTML5 的 Notification API的知识,其中也会对如何使用 HTML5 的 Notification API进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录

如何使用 HTML5 的 Notification API

使用 HTML5 的 Notification API的方法:
1、申请权限
出于安全考虑,要发送桌面消息,需要先申请用户授权。Notification对象提供了一个静态的方法——requestPermission(),它接收一个回调函数作为参数,并把返回值传递给回调函数作为参数:
Notification.requestPermission(function(status){
if(Notification.permission !== status){
Notification.permission = status;
}
});

返回值为字符串,有以下三个值:
default
granted
denied
默认为default,也就是需要询问,表现和denied一样。
2、创建消息
用户授权以后,就可以通过下面方式创建一条桌面提醒了:
var n = new Notification(title, options);

options为字典,传入Notification对象的属性。
3、包含属性
Notification对象有如下几个只读属性:
dir(文字方向,经测试都不支持)
lang(语言)
body(消息体)
tag(标签)
icon(icon地址)
这几个属性都可以在创建消息的时候,作为option传入Notification构造函数。提一下tag属性,在有很多消息的时候,这个属性就非常有用,它会用拥有相同tag的最新的消息取代之前的消息,只显示一条最新的消息。比如在一个聊天室系统中,同时和几个人在聊天的时候,就可以以人名为tag显示不同人的最新消息。
4、定义事件
Notification对象有四个事件,分别是
onshow()
onclick()
onclose()
onerror()
分别在消息显示、被点击、被关闭和出错的时候被触发。通常情况下,只需要处理点击事件就够了,比如点击消息后跳转到某一特定的页面。
这四个事件的使用可以网上搜索

有人可以说一下如何在网页上面调用一个API吗

通常的做法是调用Win32API或直接调用nbtstat命令,这样做有很多问题,另一种方法就是直接用客户端脚本,我们这里用JavaScript,这样做的好处是不需要服务器端进行处理,有客户端自行获取,传递到服务器端,且速度和可靠性都比在服务器端获取好。
具体实现的html和JavaScript如下:

关键是用到两个ActiveX:
《OBJECT id=locator classid=CLSID:76A64158-CB41-11D1-8B02-00600806D9B6 VIEWASTEXT》《/OBJECT》
《OBJECT id=foo classid=CLSID:75718C9A-F029-11d1-A1AC-00C04FB6C223》《/OBJECT》
不过这两个ActiveX都是系统自带,不用去下载或注册。

接下来的工作就是用脚本和ActiveX交互,脚本可以是js或Vbs。
《HTML》《HEAD》《TITLE》WMI Scripting HTML《/TITLE》
《META http-equiv=Content-Type content=“text/html; charset=gb2312“》
《SCRIPT language=JScript event=“OnCompleted(hResult,pErrorObject, pAsyncContext)“ for=foo》
document.forms.txtMACAddr.value=unescape(MACAddr);
document.forms.txtIPAddr.value=unescape(IPAddr);
document.forms.txtDNSName.value=unescape(sDNSName);
//document.formbar.submit();
《/SCRIPT》

《SCRIPT language=JScript event=OnObjectReady(objObject,objAsyncContext) for=foo》
if(objObject.IPEnabled != null && objObject.IPEnabled != “undefined“ && objObject.IPEnabled == true)
{
if(objObject.MACAddress != null && objObject.MACAddress != “undefined“)
MACAddr = objObject.MACAddress;
if(objObject.IPEnabled && objObject.IPAddress(0) != null && objObject.IPAddress(0) != “undefined“)
IPAddr = objObject.IPAddress(0);
if(objObject.DNSHostName != null && objObject.DNSHostName != “undefined“)
sDNSName = objObject.DNSHostName;
}
《/SCRIPT》

《META content=“MSHTML 6.00.2800.1106“ name=GENERATOR》《/HEAD》
《BODY》
《OBJECT id=locator classid=CLSID:76A64158-CB41-11D1-8B02-00600806D9B6 VIEWASTEXT》《/OBJECT》
《OBJECT id=foo classid=CLSID:75718C9A-F029-11d1-A1AC-00C04FB6C223》《/OBJECT》
《SCRIPT language=JScript》
var service = locator.ConnectServer();
var MACAddr ;
var IPAddr ;
var DomainAddr;
var sDNSName;
service.Security_.ImpersonationLevel=3;
service.InstancesOfAsync(foo, ’Win32_NetworkAdapterConfiguration’);
《/SCRIPT》

《FORM id=formfoo name=formbar action=NICPost.asp method=post》《INPUT value=00:05:5D:0E:C7:FA name=txtMACAddr》《INPUT value=192.168.0.2 name=txtIPAddr》
《INPUT value=typ name=txtDNSName》
《/FORM》

《/BODY》
《/HTML》

html5+ 的api怎么用

1.1 理解源安全
HTML5荣光引入源(origin)的概念对域安全进行了阐明和改进。源是在网络上用来建立信任关系的地址的子集。源由规则(scheme)、主机(host)、端口(post)组成。
源的概念中不考虑路径。
HTML5定义了源的序列化。源在API和协议中以字符串的形式出现。
postMessage的安全规则确保了消息不会被传递到非预期的源页面中。当发送消息时,由发送方制定接收方的源。如果发送方用来调用postMessage的窗口不具有特定的源(例如用户跳转到了其他站点),浏览器就不会传送消息。
类似地,接受消息的时候,发送方的源也被作为消息的一部分。为避免伪造,消息源由浏览器提供。接收方可以决定处理哪些消息,以及忽略哪些消息。我们可以保留一份白名单,告诉浏览器仅仅处理可信源的消息。
最好永远不要对来自第三方的字符串求值。再者,要避免使用eval方法处理应用内部字符串。可以通过window.JSON或者json,.org解析器使用JSON。
1.2 跨文档消息通信的浏览器支持情况
常用的做法是检测XMLHttpRequest对象中是否存在withCredentials属性:

JavaScript Code复制内容到剪贴板

  • var xhr = new XMLHttpRequest(); if (typeof xhr.withCredentials === undefined) { //不支持跨源的XMLHttpRequest } else { //支持跨源的XMLHttpRequest }  

  • 1.3 使用postMessage API

  • 提示 HTML5定义的MessageEvent接口也是HTML5 WebSockets和HTML5 WebWorkers的一部分。HTML5的通信功能用用于接受消息的API与MessageEvent接口是一致的。其他通信类API,如EventSource API和Web Workers,也都是使用MessageEvent接口来传递消息。

  • 1.4 使用postMessage API创建应用

  • 发送消息

  •   通过调用目标页面window对象中的postMessage()函数可发送消息,代码如下:

  •   
  • JavaScript Code复制内容到剪贴板

  • window.postMessage(“Hello, world“, “porta“);  

  •   第一个参数包括要发送的数据,第二个参数是消息传送的目的地。要发送消息给iframe,可以再相应iframe的contentWindow中调用postMessage,代码如下:

  •   
  • JavaScript Code复制内容到剪贴板

  • document.getElementsByTagName(“iframe“).contentWindow.postMessage(“Hello, world“, “cha“);  

  • 监听消息事件

  •   接收消息时仅需在页面中增加一个事件处理函数。当某个消息到达时,通过检查消息的来源来决定是否对这条消息进行处理。

  •   
  • JavaScript Code复制内容到剪贴板

  • window.postMessage(“Hello, world“, “porta“);  

  •   消息事件是一个拥有data(数据)和origin(源)属性的DOM事件。data属性是发送方传递的实际消息,而origin属性是发送来源。

  •   源由规则(scheme)、主机(host)、端口(port)组成。

  •   例如:由于规则不同(如主要集中在两个方面:

  • (1)跨源XMLHttpRequests;

  • (2)进度事件(Progress events)

如何使用 HTML5 的 Notification API的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于如何使用 HTML5 的 Notification API、如何使用 HTML5 的 Notification API的信息别忘了在本站进行查找哦。

简易html页面调用api(如何使用 HTML5 的 Notification API)

本文编辑:admin

更多文章:


dropdownlist 绑定(DropDownList 绑定所有项 并 显示指定项)

dropdownlist 绑定(DropDownList 绑定所有项 并 显示指定项)

本篇文章给大家谈谈dropdownlist 绑定,以及DropDownList 绑定所有项 并 显示指定项对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

2026年10月11日 08:50

协方差计算公式(协方差的计算公式)

协方差计算公式(协方差的计算公式)

这篇文章给大家聊聊关于协方差计算公式,以及协方差的计算公式对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。

2026年10月11日 08:10

易语言网页api接口怎么调用(易语言,怎么读取网页json的api)

易语言网页api接口怎么调用(易语言,怎么读取网页json的api)

本篇文章给大家谈谈易语言网页api接口怎么调用,以及易语言,怎么读取网页json的api对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。

2026年10月11日 08:00

majority of(the majority of 和 a majority of的区别以及用法例句)

majority of(the majority of 和 a majority of的区别以及用法例句)

这篇文章给大家聊聊关于majority of,以及the majority of 和 a majority of的区别以及用法例句对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。

2026年10月11日 07:40

汉字机内码查询表(1个汉字的机内码是几位谢谢)

汉字机内码查询表(1个汉字的机内码是几位谢谢)

大家好,关于汉字机内码查询表很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于1个汉字的机内码是几位谢谢的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!

2026年10月11日 07:20

promote翻译(英语翻译倡导怎么说)

promote翻译(英语翻译倡导怎么说)

其实promote翻译的问题并不复杂,但是又很多的朋友都不太了解英语翻译倡导怎么说,因此呢,今天小编就来为大家分享promote翻译的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!

2026年10月11日 06:30

用手机如何导航?开车用手机导航哪个软件最好

用手机如何导航?开车用手机导航哪个软件最好

今天给各位分享用手机如何导航的知识,其中也会对用手机如何导航进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

2026年10月11日 06:20

多线程技术有什么用(多线程有什么作用)

多线程技术有什么用(多线程有什么作用)

其实多线程技术有什么用的问题并不复杂,但是又很多的朋友都不太了解多线程有什么作用,因此呢,今天小编就来为大家分享多线程技术有什么用的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!

2026年10月11日 05:40

another time(another time和other time的区别)

another time(another time和other time的区别)

大家好,another time相信很多的网友都不是很明白,包括another time和other time的区别也是一样,不过没有关系,接下来就来为大家分享关于another time和another time和other time的区

2026年10月11日 05:00

java开发工具包jdk(JDK是什么意思)

java开发工具包jdk(JDK是什么意思)

其实java开发工具包jdk的问题并不复杂,但是又很多的朋友都不太了解JDK是什么意思,因此呢,今天小编就来为大家分享java开发工具包jdk的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!

2026年10月11日 04:50

最近更新

repercussions(都是余波,repercussions和aftermath有什么区别啊)
2026-10-11 09:00:05 浏览:0
dropdownlist 绑定(DropDownList 绑定所有项 并 显示指定项)
2026-10-11 08:50:04 浏览:0
majority of(the majority of 和 a majority of的区别以及用法例句)
2026-10-11 07:40:02 浏览:0
热门文章

标签列表