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によってスキャン操作が中止された場合に返されます。 InvalidStateErrorDOMException-
既に進行中のスキャンがある場合に返されます。
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> # dom-ndefreader-scan> |
ブラウザーの互換性
Loading…