NDEFReader: scan() メソッド
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
安全なコンテキスト用: この機能は一部またはすべての対応しているブラウザーにおいて、安全なコンテキスト (HTTPS) でのみ利用できます。
Experimental: これは実験的な機能です。
本番で使用する前にブラウザー互換性一覧表をチェックしてください。
scan()
は NDEFReader
インターフェイスのメソッドで、読み取り機器を起動し、 Promise
を返します。このプロミスは NFC タグの読み取り操作がスケジュールされたときに解決し、ハードウェアや権限のエラーが発生したときは拒否されます。このメソッドは、 "nfc" の権限が事前に許可されていない場合は、許可を問い合わせるプロンプトを起動します。
構文
scan(options)
引数
options
省略可-
以下のプロパティを持つオブジェクトです。
signal
-
AbortSignal
で、これによってこのscan()
操作をキャンセルすることができます。
返値
Promise
で、 NFC アダプターで読み取り操作のスケジューリングが終わると直ちに解決します。
例外
このメソッドからは例外は発生しません。代わりに返されるプロミスが拒否され、 DOMException
が name
を何れかの一つとして渡されます。
AbortError
-
options
引数で渡されたAbortSignal
によってスキャン操作が中止された場合に返されます。 InvalidStateError
DOMException
-
既に進行中のスキャンがある場合に返されます。
NotAllowedError
-
この操作の権限が拒否された場合に返されます。
NotSupportedError
-
ウェブ NFC と互換性のある NFC アダプターがない、または接続が確立できなかった場合に返されます。
例
スキャン中のエラーの取り扱い
この例では、スキャンのプロミスが拒否され、 readingerror
が発生したときの様子を示しています。
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}.`);
});
仕様書
Specification |
---|
Web NFC API # dom-ndefreader-scan |
ブラウザーの互換性
BCD tables only load in the browser