NDEFReader: scan() 方法
NDEFReader 介面的 scan() 方法用於啟用讀取裝置,並返回一個 Promise。當 NFC 標籤讀取操作被排程時,此 Promise 會被解析;如果遇到硬體或許可權錯誤,則會被拒絕。如果尚未授予 "nfc" 許可權,此方法會觸發一個許可權提示。
語法
js
scan(options)
引數
options可選-
具有以下屬性的物件:
signal-
一個
AbortSignal,允許取消此scan()操作。
返回值
一個 Promise,在排程 NFC 介面卡的讀取操作後立即解析。
異常
此方法不丟擲異常;相反,它會拒絕返回的 Promise,傳遞一個 DOMException,其 name 為以下之一:
AbortErrorDOMException-
當使用
options引數中傳遞的AbortSignal中止掃描操作時返回。 InvalidStateErrorDOMException-
當已有一個正在進行的掃描時返回。
NotAllowedErrorDOMException-
當此操作的許可權被拒絕時返回。
NotSupportedErrorDOMException-
當沒有與 Web NFC 相容的 NFC 介面卡,或者無法建立連線時返回。
示例
處理掃描錯誤
此示例顯示了當 scan Promise 被拒絕並丟擲 readingerror 時會發生什麼。
js
const ndef = new NDEFReader();
ndef
.scan()
.then(() => {
console.log("Scan started successfully.");
ndef.onreadingerror = (event) => {
console.log(
"Error! Cannot read data from the NFC tag. Try a different one?",
);
};
ndef.onreading = (event) => {
console.log("NDEF message read.");
};
})
.catch((error) => {
console.log(`Error! Scan failed to start: ${error}.`);
});
規範
| 規範 |
|---|
| Web NFC # dom-ndefreader-scan |
瀏覽器相容性
載入中…