Я пытаюсь разработать приложение Ionic Progressive Web App (PWA), которое сканирует QR-код с помощью плагина Ionic Native Qrcode Scanner: https://ionicframework.com/docs/native/qr-scanner/. В браузере на мобильном телефоне, когда начинается сканирование qr-кода,это занимает некоторое время, но через некоторое время возвращает ошибку на консоли:
core.js:1449 ERROR RangeError: Failed to execute 'getImageData' on 'CanvasRenderingContext2D': Out of memory at ImageData creation
at getCurrentImageData (plugin.min.js:571)
at thisScanCycle (plugin.min.js:693)
at t.invokeTask (polyfills.js:3)
at Object.onInvokeTask (core.js:4751)
at t.invokeTask (polyfills.js:3)
at r.runTask (polyfills.js:3)
at e.invokeTask (polyfills.js:3)
at i.isUsingGlobalCallback.invoke (polyfills.js:3)
at n (polyfills.js:3)
Далее следует другая ошибка:
Uncaught Error: This source format is not supported in your environment, you need to pass an image buffer with width and height
Тот же код запускается в браузере реального компьютера (в моем случае MacBook Pro) работает и работает как приложение Android на том же телефоне, где произошел сбой в браузере.Еще одна странная вещь заключается в том, что для сканирования QR-кода вам потребуется большое расстояние (40 см) вместо нескольких см с помощью приложения для Android.Я предполагаю, что камера инициализируется двумя различными способами и в мобильном браузере, который возвращает слишком большое изображение и вызывает ошибку памяти.
Здесь можно найти код Barebone: https://github.com/mottolini/ionic-pwa-qr