From 957a76801fc750cbc9a1a89fce79c662809facd0 Mon Sep 17 00:00:00 2001 From: rajababubula Date: Wed, 8 Jun 2022 15:03:18 +0530 Subject: [PATCH 1/3] Update index.js Updated code to check the record type and parse if text or URL --- web-nfc/index.js | 30 +++++++++++++++++++++++++++--- 1 file changed, 27 insertions(+), 3 deletions(-) diff --git a/web-nfc/index.js b/web-nfc/index.js index ef48d0de73..4f84033496 100644 --- a/web-nfc/index.js +++ b/web-nfc/index.js @@ -1,4 +1,4 @@ -scanButton.addEventListener("click", async () => { + scanButton.addEventListener("click", async () => { log("User clicked scan button"); try { @@ -13,8 +13,32 @@ scanButton.addEventListener("click", async () => { ndef.addEventListener("reading", ({ message, serialNumber }) => { log(`> Serial Number: ${serialNumber}`); log(`> Records: (${message.records.length})`); - }); - } catch (error) { + + if(message.records.length>0){ + for (const record of message.records) { + log("Record type: " + record.recordType); + log("MIME type: " + record.mediaType); + log("Record id: " + record.id); + switch (record.recordType) { + case "text": + { + const textDecoder = new TextDecoder(record.encoding); + log(`Text: ${textDecoder.decode(record.data)} (${record.lang})`); + } + break; + case "url": + { + const textDecoder = new TextDecoder(); + console.log(`URL: ${textDecoder.decode(record.data)}`); + } + break; + default: + // TODO: Handle other records with record data. + } + } + } + }); + } catch (error) { log("Argh! " + error); } }); From e2f87a275ce5f7991ae2ec96f7fa20c7f7fa7676 Mon Sep 17 00:00:00 2001 From: rajababubula Date: Wed, 8 Jun 2022 15:39:29 +0530 Subject: [PATCH 2/3] Update index.js --- web-nfc/index.js | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/web-nfc/index.js b/web-nfc/index.js index 4f84033496..817506e630 100644 --- a/web-nfc/index.js +++ b/web-nfc/index.js @@ -14,11 +14,10 @@ log(`> Serial Number: ${serialNumber}`); log(`> Records: (${message.records.length})`); - if(message.records.length>0){ for (const record of message.records) { - log("Record type: " + record.recordType); - log("MIME type: " + record.mediaType); - log("Record id: " + record.id); + log(`\nRecord id: ${record.id}`); + log(`Record type: ${record.recordType}`); + log(`MIME type: ${record.mediaType}`); switch (record.recordType) { case "text": { @@ -29,7 +28,7 @@ case "url": { const textDecoder = new TextDecoder(); - console.log(`URL: ${textDecoder.decode(record.data)}`); + log(`URL: ${textDecoder.decode(record.data)}`); } break; default: From 0a1f2f9b44e1e1bf59e09b4bbd16bd77573bedc2 Mon Sep 17 00:00:00 2001 From: rajababubula Date: Wed, 8 Jun 2022 15:42:35 +0530 Subject: [PATCH 3/3] Update index.js --- web-nfc/index.js | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/web-nfc/index.js b/web-nfc/index.js index 817506e630..e606fcc8ad 100644 --- a/web-nfc/index.js +++ b/web-nfc/index.js @@ -1,19 +1,15 @@ scanButton.addEventListener("click", async () => { log("User clicked scan button"); - try { const ndef = new NDEFReader(); await ndef.scan(); log("> Scan started"); - ndef.addEventListener("readingerror", () => { log("Argh! Cannot read data from the NFC tag. Try another one?"); }); - ndef.addEventListener("reading", ({ message, serialNumber }) => { log(`> Serial Number: ${serialNumber}`); - log(`> Records: (${message.records.length})`); - + log(`> Records: (${message.records.length})`); for (const record of message.records) { log(`\nRecord id: ${record.id}`); log(`Record type: ${record.recordType}`);