Встроенный скрипт JavaScript не работает - PullRequest
0 голосов
/ 25 сентября 2019

У меня проблема с настройкой моего кода для настройки на моем веб-сервере, из-за соображений безопасности весь встроенный код JavaScript для моего html не разрешен.

все уже в порядке, мне просто трудно конвертировать другой код в чистый JavaScript

Вот мой существующий код ,,,


<label class=qrcode-text-btn><input type=file accept="image/*" capture=environment id="openQRCamera" tabindex=-1></label>

оригиналкод такой

<label class=qrcode-text-btn><input type=file accept="image/*" capture=environment onchange="openQRCamera(this);" tabindex=-1></label> 

onchange не работает, потому что он встроен в html.

эта функция должна открыть камеру и определить, существует ли qr.

вот что у меня сейчас есть при преобразовании.

document.querySelector("#openQRCamera").addEventListener('onchange', (node) => {

      var reader = new FileReader();
      reader.onload = function() {
        node.value = "";
        qrcode.callback = function(res) {
         if(res instanceof Error) {
           alert("There is no QR detected");
         } else {
           node.parentNode.previousElementSibling.value = res;
         }
        };
        qrcode.decode(reader.result);
      };
      reader.readAsDataURL(node.files[0]);
});

вот исходный код

  function openQRCamera(node) {
    var reader = new FileReader();
    reader.onload = function() {
      node.value = "";
     qrcode.callback = function(res) {
        if(res instanceof Error) {
          alert("There is no QR detected");
        } else {
          node.parentNode.previousElementSibling.value = res;
        }
      };
      qrcode.decode(reader.result);
    };
    reader.readAsDataURL(node.files[0]);
  }

Я использую этот сайт в качестве источника кода, у меня на локальном хосте все работает нормально, но сервер просто строгий, иЯ думаю, что это нормально для всех сайтов.

https://www.sitepoint.com/create-qr-code-reader-mobile-website/

Я просто застрял и попытался сделать другое решение, как добавление прослушивателя событий и добавление ввода просто с помощью jquery, но этоне работает.заранее спасибо.

1 Ответ

0 голосов
/ 25 сентября 2019

Используемый вами прослушиватель событий неисправен, вместо прослушивания 'onchange' вы должны прослушивать 'change' следующим образом:

document.querySelector ("# openQRCamera"). AddEventListener ('change', () => {

// удалить узел в качестве параметра и получить его с помощью javascript:

var node = document.getElementById (' openQRCamera '); ..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...