#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 страница, но, конечно, для этого должна быть тренировка.