21
Views
1
Comments
In the iphone i see the Live Broadcasting in the scan the qrcode

this is the javascript for the scan qr code:

var camera = 'rear';//$parameters.Camera == 'back'? 'back' : 'front';

var addDrawsight = $parameters.DrawSight;


ZXing.TemplateBuilder.buildInterface(addDrawsight, document.getElementById($parameters.Canvas_WidgetId));


codeReader = new ZXing.BrowserMultiFormatReader();

/*

document.getElementById('close-button').addEventListener('click', function() {

    codeReader.reset();

    document.getElementById('plugin-overlay').style.display = 'none';

    document.getElementById('video').pause();

    $parameters.ErrorMessage = "Failure during scan. Scan was cancelled";

    $parameters.Success = false;

}, true);

*/

var menuBackHandler = function() {

    codeReader.reset();

    document.getElementById('plugin-overlay').style.display = 'none';

    document.getElementById('video').pause();

   // $parameters.ErrorMessage = "Failure during scan. Scan was cancelled";

   // $parameters.Success = true;

    $parameters.IsBack = true; 

    history.back();

};


$public.Navigation.registerBackNavigationHandler(menuBackHandler);


var selectedDeviceId = null;

if(codeReader !== null){

    if(!codeReader.canEnumerateDevices){

        

        var divOverlay = document.getElementById('plugin-overlay');

        var video = document.getElementById('video');

        if (divOverlay !== null && video !== null) {

            video.parentNode.removeChild(video);

            divOverlay.parentNode.removeChild(divOverlay); 

        }

        

        var input = document.createElement("input");

        input.id = 'image-input'

        input.type = "file";

        input.accept = "image/* capture='camera'";

        input.style.display = 'none';

        document.body.appendChild(input);


        var outImg = document.createElement("img");

        outImg.id = 'outImage';

        //outImg.style.display = 'none';

        outImg.style.width = '320';

        outImg.style.height = '320';

        var cont = document.getElementById('reactContainer');

        cont.appendChild(outImg);


        input.click();


        input.addEventListener("change", function (evt) {

            var tgt = evt.target || window.event.srcElement,

                files = tgt.files;


            // FileReader support

            if (FileReader && files && files.length) {

                var fr = new FileReader();

                fr.onload = function () {

                    var outImg = document.getElementById('outImage');

                    outImg.src = fr.result;


                    codeReader.decodeFromImageElement('outImage')

                    .then(function (result) {

                        $parameters.Value = result.text;

                        $parameters.Success = true;

                        $resolve();

                    })

                    .catch(function (err) {

                        $parameters.ErrorMessage = "Could not find a barcode. Please try with a different image";

                        $parameters.Success = false;

                        $resolve();

                    })

                    .finally( function (){

                        var input = document.getElementById('image-input');

                        var outImg = document.getElementById('outImage');

                        if (input !== null && outImage !== null) {

                            outImg.parentNode.removeChild(outImage);

                            input.parentNode.removeChild(input); 

                        }

                        

                    });

                }

            fr.readAsDataURL(files[0]);

            }

        });

        return;

    }

    codeReader.getVideoInputDevices()

    .then(function(videoInputDevices) {

        var availableDevices = videoInputDevices.length;

        if (availableDevices === 0) {

            $parameters.ErrorMessage = "There are no available cameras. Verify your devices or permissions";

            $parameters.Success = false;

            return;

        }

        else if (availableDevices > 1){

            for(var i=0; i

                console.log("videoInput" + videoInputDevices[i].label);

                $parameters.VideoInput +=  "-" + videoInputDevices[i].label;

                if((videoInputDevices[i].label.toLowerCase()).includes(camera)) {

                    selectedDeviceId = videoInputDevices[i].deviceId;

                    break;

                }

            }

            if(selectedDeviceId === null) {

                console.log("videoInput2" + videoInputDevices[availableDevices-1].label);

                selectedDeviceId = videoInputDevices[availableDevices-1].deviceId;

            }

        }

        else {

            console.log("videoInput3" + videoInputDevices[0].label);

            selectedDeviceId = videoInputDevices[0].deviceId;

        }

        codeReader.decodeFromInputVideoDevice(selectedDeviceId, 'video')

            .then(function (result) {

                codeReader.reset();

                $parameters.Value = result.text;

                $parameters.Success = true;

                

                $resolve();

            })

            .catch(function (err) {

                $parameters.ErrorMessage = "Scan was cancelled";

                $parameters.Success = false;

                $resolve();

            })

            .finally( function (){

                var divOverlay = document.getElementById('plugin-overlay');

                var video = document.getElementById('video');

                if (divOverlay !== null && video !== null) {

                    video.parentNode.removeChild(video);

                    divOverlay.parentNode.removeChild(divOverlay); 

                }

            });

    })

    .catch(function(err) {

        $parameters.ErrorMessage = "Failure during scan.";

        $parameters.Success = false;

        $resolve();

    });

}

UserImage.jpg
WATANABE1221

It seems like you have provided a JavaScript code snippet that handles QR code scanning using the ZXing library. However, I'm not sure what specific question or issue you are facing with this code. Could you please clarify your question or describe the problem you are encountering? That way, I can provide you with a more targeted answer or solution.

Community GuidelinesBe kind and respectful, give credit to the original source of content, and search for duplicates before posting.