NDEFMessage:records 属性

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

安全上下文: 此项功能仅在一些支持的浏览器安全上下文(HTTPS)中可用。

实验性: 这是一项实验性技术
在将其用于生产之前,请仔细检查浏览器兼容性表格

NDEFMessage 接口的 records 属性表示 NDEF 消息中存在的 NDEFRecord 列表。

表示消息中记录的数据的 NDEFRecord 对象列表。

示例

以下示例演示如何读取 NDEF 消息的内容。首先为 onreading 设置事件处理器,它将收到 NDEFReadingEvent 实例。从 NDEFReadingEvent.message 返回一个 NDEFMessage 对象。它遍历 message.records 并基于其消息类型处理每个记录。data 成员是一个 DataView,它允许处理以 UTF-16 编码的数据。

js
ndefReaderInst.onreading = (event) => {
  const ndefMessage = event.message;
  for (const record of ndefMessage.records) {
    console.log(`记录类型:  ${record.recordType}`);
    console.log(`MIME 类型: ${record.mediaType}`);
    console.log(`记录 id:   ${record.id}`);
    switch (record.recordType) {
      case "text":
        // TODO:使用记录数据、语言和编码读取文本记录。
        break;
      case "url":
        // TODO:读取带有记录数据的 URL 记录。
        break;
      default:
      // TODO:使用记录数据处理其他记录。
    }
  }
};

规范

Specification
Web NFC
# dom-ndefmessage-records

浏览器兼容性

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
records
Experimental

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
No support
No support
Experimental. Expect behavior to change in the future.