跳至主要内容

[note] instascan 筆記

instascan @ github

API

let opts = {
// 是否要持續掃瞄 QR codes。預設 true,當 scanner 掃描到 QR code 時會發出「scan」事件;
// 如果是 false,則需要透過 scanner.scan() 手動開始掃描
continuous: true,

// 用來預覽相機內容的 HTML 元素,必須是 <video> 元素。
// 當相機被啟動時,這個元素會被添加一個 "active" 的 class,否則會是 "inactive"。
video: document.getElementById('preview'),

// Whether to horizontally mirror the video preview. This is helpful when trying to
// scan a QR code with a user-facing camera. Default true.
mirror: true,

// Whether to include the scanned image data as part of the scan result.
// See the "scan" event for image format details. Default false.
captureImage: false,

// 只適用在 continuous mode,不論該 tab 有無處在 active 狀態,都會持續掃瞄。
// 預設是 true。當設為 false 時,會減少 CPU 的使用。
backgroundScan: true,

// 只適用在 continuous mode,相同的 QR code 是否會在這段期間內成功被辨認,預設是 5000ms。
refractoryPeriod: 5000,

// 只適用在 continuous mode,在多少個 frames 之間執行一次掃描,
// 越低的 scan period 會加快掃描的反應但會增加 CPU 的使用。
scanPeriod: 1,
};

Issues

支援 iOS

若要支援 iOS 可以參考 Rear camera (ios) @ Github Issues 和修改後的程式碼

參考