Cordova DeviceReady не запускается

#javascript #cordova #cordova-plugin-camera

#javascript #кордова #cordova-plugin-camera

Вопрос:

У меня есть многостраничное приложение, в котором я пытаюсь запустить ‘deviceready’ в моем camera.html досье. Я связываю свой index.js файл и добавление cordova.js уже в моем camera.html досье. вот как выглядит мой код в моем index.js досье.

 let app = {
    initialize: function() {
      this.bindEvents();
      console.log("app has been initialized")
    },
    bindEvents: function(){
      document.addEventListener('deviceready', this.onDeviceReady, false);
      console.log("events have been bound")
    },
    onDeviceReady: function() {
        console.log("Hitting device ready");
            let cameraApp= {

                init: function(){
                   $('#btn').click(cameraApp.getalbum);
                   console.log("this button works");
                   $('#camera').click(cameraApp.takephoto);
                },

                takephoto: function(){

                    let cameraOptions = {
                        quality: 80,
                        destinationType: Camera.DestinationType.FILE_URI,
                        sourceType: Camera.PictureSourceType.CAMERA,
                    };
                    navigator.camera.getPicture(cameraApp.onSuccess, cameraApp.onFail, cameraOptions);
                    console.log("ClickedCameraButton");
                },
                getalbum: function(){

                    let cameraOptions = {
                        quality: 80,
                        destinationType: Camera.DestinationType.FILE_URI,
                        sourceType: Camera.PictureSourceType.SAVEDPHOTOALBUM,
                    };
                    navigator.camera.getPicture(cameraApp.onSuccess, cameraApp.onFail, cameraOptions);
                    console.log("ClickedCameraAlbumbutton");

                  },  
                onSuccess: function(imageURI){
                  document.getElementById('photo').src = imageURI;

                },
                onFail: function(msg){
                    document.getElementById('msg').textContent = msg;

                }
            };
            cameraApp.init();

      }
  };

    var pageTitle = document.title;
    console.log("pageTitle:"   pageTitle);

$(document).ready(function() {
    switch(pageTitle) {
        case "Home":
            let url = 'https://jyoti.thetoolboxapp.co/views/login.html'
            let delay = 3000;
            console.log("Loading home");
            setTimeout(function() {window.location.href = url;}, delay);
            break;

            case "Login":
                console.log("login reading");
                $("#login").click(function() {
                    let delay = 1000;
                    let url = 'https://jyoti.thetoolboxapp.co/views/camera.html';
                    setTimeout(function() {
                      window.location.href = url;
                    }, delay);
                    console.log("Clicked button.");
                  });
                break;

                case "Camera":
                    app.initialize();

                    break;

                    default:

                        console.log("this did not work");

                        break;
                    }

                });
  

Приложение обращается к console.log («события были привязаны»), однако оно не обращается к функции onDeviceReady. У меня создается впечатление, что ‘deviceready’ срабатывает только в index.html страница, но, конечно, для этого должна быть тренировка.