#328

Щоб сканер міг використовувати камеру, повинні збігтися три умови: портал відкритий по HTTPS, браузер отримав дозвіл від користувача, а на iOS — сканер запускається тільки за натисканням на кнопку. Якщо щось не так — сканер не відкривається або показує чорний екран. Тут докладно про кожну умову.

Умова 1: HTTPS обов'язковий

Сучасні браузери (Chrome, Firefox, Safari, Edge, Samsung Internet) дозволяють доступ до камери тільки на сайтах із захищеним з'єднанням — це означає, що адресний рядок повинен починатися з https:// і зазвичай містити іконку замка.

Якщо ваш портал відкритий по http:// (без «s») — сканер не запуститься. Це не налаштування порталу, це вимога браузера, обійти її не можна. Зверніться до адміністратора фірми — він повинен налаштувати SSL-сертифікат для домену порталу.

Виняток: для розробки браузери дозволяють доступ до камери на http://localhost і http://127.0.0.1. Але це не допомагає звичайним користувачам — у них завжди повний домен.

Умова 2: Дозвіл від користувача

При першому натисканні на кнопку сканера браузер показує спливаючий запит: «{сайт} запитує доступ до камери» з двома кнопками «Дозволити» / «Заблокувати».

  • Натиснули «Дозволити» — браузер запам'ятає вибір, надалі сканер відкриватиметься одразу.
  • Натиснули «Заблокувати» — браузер теж запам'ятає, і при наступних спробах сканер мовчки не працюватиме (запит більше не з'явиться автоматично).
  • Закрили вікно (свайп / тап поза) — зазвичай рівносильно «відклав рішення», наступного разу запит з'явиться знову.

Як змінити рішення, якщо випадково заблокували

Chrome / Edge (Android, Windows, macOS):

  1. Натисніть на іконку замка зліва від адреси порталу.
  2. Відкриється список дозволів; знайдіть «Камера».
  3. Змініть значення з «Блокувати» на «Дозволити».
  4. Перезавантажте сторінку.

Safari (iOS):

  1. Відкрийте Налаштування iOS → Safari → Камера.
  2. Знайдіть ваш домен у списку і поміняйте на «Дозволити» або «Питати».

Firefox:

  1. Іконка щита або замок зліва від адреси.
  2. «Дозволи» → «Використовувати камеру» → «Питати» або «Дозволити».

Умова 3: iOS Safari — тільки за натисканням кнопки

На iPhone і iPad сканер не запускається «сам», навіть якщо у нього є дозвіл і HTTPS працює. Браузер дозволяє доступ до камери тільки з обробника користувацького жесту — тобто після реального тапа по кнопці. Тому:

  • Сканер завжди запускається тапом по кнопці в шапці порталу, ніяких автоматичних спливаючих вікон при завантаженні сторінки.
  • Якщо на сторінці є JavaScript-логіка, яка «відкриває сканер одразу при появі» — на iOS вона не спрацює, доведеться все одно натискати кнопку.

Приватність: що відбувається з відео

  • Відео не передається на сервер. Розпізнавання QR відбувається локально в браузері — кадри обробляються в пам'яті пристрою і одразу видаляються.
  • На сервер уходить тільки результат — розпізнаний рядок (вміст QR-коду).
  • Відео не записується. Як тільки вікно сканера закрилося, потік з камери зупиняється, індикатор камери в системі гасне.
  • У фоні камера не працює — портал не має доступу до камери, коли вікно сканера закрите.

Якщо інших проблем немає, але сканер все одно не працює

Див. окрему статтю «Вирішення проблем зі сканером».