范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

浏览器支持NFC?WebNFC是什么?

  大家好,很高兴又见面了,我是" 前端进阶 ",由我带着大家一起关注前端前沿、深入前端底层技术,大家一起进步,也欢迎大家关注、点赞、收藏、转发!
  NFC:一种无线通信技术,设备能够在不使用互联网的情况下相互通信前言
  NFC(Near Field Communications) 代表近场通信,这是一种工作频率为 13.56 MHz 的短距离无线技术,可在距离小于 10 厘米的设备之间进行通信。 NFC 通信协议和数据交换格式基于现有的射频识别 (RFID) 标准,包括 ISO/IEC 14443 和 FeliCa。 NFC 标准包括 ISO/IEC 18092和 NFC 论坛定义的标准。1.什么是无源和有源NFC设备?1.1 无源NFC设备
  包括NFC标签和其他小型发射器,它们可以向其他NFC设备发送信息,而不需要电源。但是,它们不能处理来自其他源的信息,也不能连接到其他无源设备。1.2 有源NFC设备
  能够发送和接收数据,并且可以彼此通信,也可以与无源设备通信。目前来说,智能手机是最常见的有源NFC设备,其它常见的例子还包括公交读卡器和支付终端。2.Web NFC 的用户场景?
  将设备靠近无源供电的 NFC 标签,以便读取或写入数据。
  NFC工作原理是磁感应
  NFC 的工作原理是使用磁感应,这意味着读取器(一个有源的、有源设备)会发出一个小电荷,然后产生一个磁场。 磁场为无源设备提供动力,无源设备将其转化为电脉冲来传输数据。 因此,当设备在范围内时,总是执行读取。
  点对点连接以类似的方式工作,因为设备会定期切换到所谓的启动器模式以扫描目标,然后再回到目标模式。 如果找到目标,则读取数据的方式与读取标签的方式相同。
  由于 NFC 基于现有的 RFID 标准,许多 NFC 芯片组支持读取 RFID 标签,但其中一些仅由单一供应商支持,而不是 NFC 标准的一部分。3.如何在浏览器使用NFC3.1 NDEFMessage对象
  Web NFC API 的 NDEFMessage 接口表示已从 NFC 标签读取或写入的 NDEF 消息的内容。 通过调用 NDEFMessage() 构造函数或从传递给读取事件的 NDEFReadingEvent.message 属性获取实例。const ndefReader = new NDEFReader();  // 构造函数   function read() {   // 创建一个读取单个标签然后停止轮询的函数,通过减少不需要的工作来节省电池寿命     return new Promise((resolve, reject) => {       const ctlr = new AbortController();       ctlr.signal.onabort = reject;       ndefReader.addEventListener("reading", (event) => {         ctlr.abort();         resolve(event);       }, { once: true });       ndefReader.scan({ signal: ctlr.signal }).catch((err) => reject(err));     });   }   read().then(({ serialNumber }) => {     console.log(serialNumber);   });3.2 NDEFReader对象
  Web NFC API 的 NDEFReader 接口用于从兼容的 NFC 设备读取和写入数据,例如支持 NDEF 的 NFC 标签,当这些设备在阅读器的磁场内时。
  NDEFReader对象
  下面的示例表示如何在通用读取处理程序和专门用于单次写入的处理程序之间进行协调。 为了写入,需要找到并读取标签。 这时您能够检查它是否真的是您要写入的标签。 这就是为什么建议从阅读事件中调用 write() 的原因。const ndef = new NDEFReader(); let ignoreRead = false; ndef.onreading = (event) => {   if (ignoreRead) {     return;      // 写入挂起,忽略后续读取   }   console.log("We read a tag, but not during pending write!"); }; function write(data) {   ignoreRead = true;   return new Promise((resolve, reject) => {     ndef.addEventListener(       "reading",       (event) => {         // 检查我们是否要写入此标签,或者拒绝         ndef           .write(data)           .then(resolve, reject)           .finally(() => (ignoreRead = false));            // 将ignoreRead标志位设置为false       },       { once: true }     );   }); } await ndef.scan(); // NDEFReader 接口的 scan() 方法激活读取设备并返回一个 Promise,该 Promise 要么 // 在读取 NFC 标签时resolve,要么在遇到硬件或权限错误时reject。 // 如果先前未授予"nfc"权限,则此方法会触发权限提示。 try {   await write("Hello World");   console.log("写入标签完成!"); } catch (err) {   console.error("写入出错", err); } 3.3 NDEFRecord对象
  Web NFC API 的 NDEFRecord() 构造函数返回一个新构造的 NDEFRecord 对象,该对象表示可以从兼容的 NFC 设备读取或写入的数据;例如支持 NDEF 的 NFC 标签。 new NDEFRecord(options)3.4 WebNFC的浏览器支持
  如下图所示,只有Android设备上的Chrome浏览器支持WebNFC。虽然桌面版本的Chrome在80-88版本通过试验性标签"enable-experimental-web-platform-features "启动该特性,但是在后续的89版本以上都移除了对WebNFC的支持。所以,从长远来看WebNFC还有很长的路要走。
  只有Android设备上的Chrome浏览器支持WebNFC
  注意:很多设备没有配备 NFC 阅读器,则不会返回任何数据,即使浏览器可能支持该API。4.WebNFC示例4.1 HTML结构

Web NFC 旨在为网站提供读取和写入 NFC 标签的能力,它们靠近用户的设备(通常为 5-10 厘米,2-4英寸)。 当前作用域仅限于 NDEF,一种轻量级二进制消息格式。 底层 I/O 操作(例如 ISO-DEP、NFC-A/B、NFC-F)和基于主机的 当前范围内不支持卡仿真 (HCE)。 4.2 完整JS代码scanButton.addEventListener("click", async () => { log("点击扫描按钮"); try { const ndef = new NDEFReader(); await ndef.scan(); log("> Scan started"); ndef.addEventListener("readingerror", () => { log("无法从 NFC 标签读取数据。 试试另一个?"); }); ndef.addEventListener("reading", ({ message, serialNumber }) => { log(`> Serial Number: ${serialNumber}`); log(`> Records: (${message.records.length})`); }); } catch (error) { log("Argh! " + error); } }); writeButton.addEventListener("click", async () => { log("用户点击写按钮"); try { const ndef = new NDEFReader(); await ndef.write("Hello world!"); // 写入数据 log("> Message written"); } catch (error) { log("Argh! " + error); } }); makeReadOnlyButton.addEventListener("click", async () => { log("用户点击设为只读按钮"); try { const ndef = new NDEFReader(); await ndef.makeReadOnly(); // 设置为只读 log("> NFC 标签已设为永久只读"); } catch (error) { log("Argh! " + error); } });5.总结   本文只是告诉大家什么是Web NFC,怎么使用它?因为笔者不是这方面的专家,很多内容也就浅尝辄止。但是文末的参考资料提供了大量优秀文档以供学习,如果有兴趣可以自行阅读。   参考资料   https://baijiahao.baidu.com/s?id=1639036926999857541   https://w3c.github.io/web-nfc/   https://developer.mozilla.org/en-US/docs/Web/API/NDEFReadingEvent/message   https://developer.mozilla.org/en-US/docs/Web/API/NDEFReader   https://developer.mozilla.org/en-US/docs/Web/API/NDEFRecord/NDEFRecord   https://googlechrome.github.io/samples/web-nfc/   https://caniuse.com/?search=WebNFC


闪耀五大联赛的五大中超旧将阿瑙托维奇居首,金玟哉在列前些年中超烧钱的时候,网罗了一大批世界顶尖的射手。随着中超变革,这些外援纷纷转投他处,其中不少来到了欧洲五大联赛,有部分人还在五大联赛踢出了名堂。下面盘点一下闪耀五大联赛的五大中超NASAArtemisI延期至5或6日发射如若错过将要等到10月据悉,NASAArtemisI可能有机会尝试在美当地时间9月5日和6日发射,但如若错过该时间,那么它将不得不返回装配大楼,直到10月。NASA在一份关于发射失败的声明中说道发射主管宇宙有没有边界?如果有,边界之外又是什么?宇宙有没有边缘,是什么样的,宇宙之外呢?停一下,或许我们得从宇宙膨胀说起,以便于理解这些问题的答案。爱因斯坦在1915年时提出了广义相对论,这个理论革命性地取代了牛顿的万有引力定律在金星上寻找生命需要准备什么?金星上的生命,或者它的可能性,一直是最近的热门话题。存在很多争议,包括(仍然存在争议的)磷化氢的发现,磷化氢是大气中的一种潜在生物标志物。平息这场争论的最好方法是去那里实际收集样本发明创造的故事(156)荷兰科学家发现超导体荷兰科学家发现超导体卡末林昂内斯1911年,荷兰莱顿大学教授卡末林昂内斯意外地发现,将汞冷却到4。2K(268。95)时,汞的电阻突然消失后来他又发现许多金属和合金都具有与上述汞相欧冠精彩1夜!大巴黎力克尤文皇马曼城大胜切尔西爆冷输球北京时间9月7日,欧冠小组赛首轮第一比赛日结束,大巴黎在焦点大战中21力克尤文,皇马曼城都轻松取胜,AC米兰战平,切尔西爆冷输球。萨格勒布10切尔西E组,切尔西客场爆冷01负于萨格77!巴黎迎接新风貌,加尔蒂送礼姆巴佩,梅西成大赢家,创纪录导读关于巴黎圣日耳曼,球迷关注的焦点,从赛场上球员的表现,到更衣室氛围是否稳定,事无巨细,而梅西以及内马尔深处其中,才是吸引球迷眼光的原因所在。在日前的比赛中,梅西依旧坐稳首发,而宁德时代八连跌,创上市以来纪录,新能源还能涨吗?1宁德时代连续第8个交易日下挫,为上市以来首次!新能源汽车龙头宁德时代已经连续8个交易日下跌了,同时这也是宁德时代上市以来首次那么长时间的下跌。大头觉得这是有机构在做空的结果。不过欧冠战火重燃,球员积分再现江湖2223赛季的欧冠小组赛将于本周中开战,相信每个球队的球迷都看到了欧冠小组抽签的结果,最劲爆的莫过于C组巴萨拜仁国米和比尔森胜利的组合,对于比尔森胜利来说,踢的每一场比赛都是一种享巴黎圣日耳曼VS尤文图斯今非昔比,大巴黎26年后再复仇一比赛故事巴黎圣日耳曼即将在欧冠联赛中迎战尤文图斯,在1996年的欧洲超级杯上,斑马军团以两回合92的总比分痛击巴黎并且夺冠,之后这两家欧洲豪门就再也没有在正式比赛有过任何交手记录NBA新赛季急需证明自己的五位球员,特别是第二位第一位沃尔,沃尔近几年一直事高薪低能的代表,休赛期被火箭买断加入快船以后和伦纳德乔治组成三巨头,如果沃尔能发挥80的实力,那么快船都将是总冠军的最有力争夺者,但如果沃尔没能很好的梳
技经观察丨群体智能新一代人工智能的重要方向群体智能是近年来发展迅速的一个人工智能学科领域,通过研究分散自组织的生物群体智慧,实现分布式去中心化的智能行为,通常用于无人机机器人集群的协同作业。群体智能作为新一代人工智能的重要人工智能带来重大传播变革习近平总书记在主持中央政治局第十二次集体学习时指出全媒体不断发展,出现了全程媒体全息媒体全员媒体全效媒体,信息无处不在无所不及无人不用。智能化革命是一场划时代的跨越,是从工业文明向孙振魁侃历史第四十一讲武乙迁都敢不敢,看史实。左传哀公四年(公元前491)蔡昭侯将如吴,诸大夫恐其又迁也,承,公孙翩逐而射之,入于家人而卒。以两矢门之。众莫敢进。文之锴后至,曰如墙而进,多而杀二人。锴执弓而先,上官婉儿到底是怎样的人?在其墓中的发现,揭开了历史真相上官婉儿的名字,几乎家喻户晓,无人不知,但史书上却少有记载这位巾帼宰相的私生活。历史上对她个人的评价也各有不同,有人说她文采斐然,也有人批其淫媚。有人说她只是巧言令色,擅长奉承权贵杨开慧在家中墙上藏手稿52年后才被人发现,可惜毛主席已逝6年要打要杀随你们的便!但你们休想从我口中得到任何你们想知道的消息,要我和润之脱离关系,更是想都不要想!1930年10月24日,毛主席的妻子杨开慧回家看望母亲和孩子时被密探发现,当晚国随着我国提倡数字经济建设,我们的数字身份证也要来了好消息,我国最近又将为14亿人的利益,做一件大事。我们以后可能再也不用担心身份信息的泄露,个人信息被盗的问题了,同时将催生一个全新的万亿风口,这到底是怎么回事呢?就在刚刚,国家重点文旅要闻2022中国东盟博览会旅游展主题省甘肃系列文艺演出精彩纷呈开幕式演出琵琶一引千山远,古城尽显敦煌韵。9月19日至20日,2022中国东盟博览会主题省(甘肃)系列文艺演出,采用桂林国际会展中心主会场展演甘肃文旅推介会展演敦煌飞天穿越两江四湖醉美承德之秋主题旅游线路(上)古韵金秋文化之旅线路特点这条线路串联起承德深厚的历史文脉,契丹文化皇家文化民族民俗文化长城文化,铭刻城市悠久记忆,诉说城市动人故事,是了解承德感受承德的必游线路。具体线路金山岭长城我国5G基站单站址能耗比商用初期降低20以上工业和信息化部节能与综合利用司司长黄利斌日前表示,目前我国5G基站单站址能耗已比2019年商用初期降低20以上,全国规划在建的大型以上数据中心平均设计电能利用比值已降到1。3。下一为购房者减负!这个城市拟推商贷转公积金,贷款55万元可省6万元利息每经记者王佳飞每经编辑陈梦妤,孙志成9月21日,洛阳市住房公积金管理中心发布洛阳市商业性个人住房贷款转住房公积金个人住房贷款管理办法(征求意见稿)(以下简称办法),表明目的是为了进长沙非凡十年城市品质提升专场新闻发布会举行城市蝶变,幸福触手可及党的十八大以来,长沙市深入贯彻落实习近平总书记提出的城市是人民的城市,人民城市为人民重要指示,坚持以人民为中心,聚焦人民群众对美好生活的向往,努力创造宜居宜业宜游的良好环境。9月2