我想在我的網站上設定一條 NDEF 訊息,如果它是從 android chrome 打開并使用 nfcpy 用 NFC 閱讀器讀取的。
根據https://developer.mozilla.org/en-US/docs/Web/API/NDEFMessage/NDEFMessage我認為我應該能夠做到這一點。
我的頁面是這樣的:
<button onclick="set_ndef()">Set NDEF msg</button>
<pre id="log"></pre>
<script>
async function set_ndef() {
if ("NDEFReader" in window) {
try {
const ndefmsg = new NDEFMessage({'records': [{'recordType': 'text', 'data': 'asd'}]});
consoleLog(ndefmsg)
} catch(error) {
consoleLog(error);
}
} else {
consoleLog("Web NFC is not supported.");
}
}
function consoleLog(data) {
var logElement = document.getElementById('log');
logElement.innerHTML = data '\n';
}
</script>
該網站使用 HTTPS,當我按下按鈕時,NDEFRecord 物件會列印到 div 中。
我有一個 acr122u NFC 閱讀器,我可以使用 nfcpy 進行設定:
import nfc
import time
def on_connect(tag):
print(tag.identifier.hex())
tag_ident = tag.identifier.hex()[:8]
print(tag.ndef)
if tag.ndef:
for record in tag.ndef:
print(record)
return True
while True:
with nfc.ContactlessFrontend('usb') as clf:
tag = clf.connect(rdwr={'on-connect': on_connect, 'beep-on-connect': True})
time.sleep(1)
之后,我把我的手機上的閱讀器(按頁面上的按鈕之后)我只能夠讀取手機的UID,但tag.ndef為None
我該怎么做(如果我能做到的話)?
uj5u.com熱心網友回復:
https://stackoverflow.com/a/65659726/2373819應該為您提供一些背景資訊,說明為什么這不起作用,Android Chrome NFC 是 NFC 閱讀器,2 個閱讀器不起作用。
雖然使用 acr122u NFC 閱讀器通常可以配置為充當 NFC 標簽,但 Android Chrome 應該能夠讀取和寫入 NDEF 訊息(https://nfcpy.readthedocs.io/en/latest/topics/get-started .html#emulate-a-card )
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/380002.html
標籤:javascript NFC ndef
上一篇:在文本突出顯示上彈出
