Я не могу назвать плагин камеры cordova со страницы html, развернутой на сервере. Он работает нормально, если страница находится в самом приложении. Это гибридное приложение, созданное с использованием apache cordova, где, если мы откроем приложение, откроется html-страница, в которой, если мы нажмем кнопку захвата изображения, вызывается плагин камеры и открывается камера устройства. но когда я нажимаю кнопку захвата, ничего не происходит.Плагин камеры Cordova не работает
var app = {
// Application Constructor
initialize: function() {
this.bindEvents();
},
// Bind Event Listeners
//
// Bind any events that are required on startup. Common events are:
// 'load', 'deviceready', 'offline', and 'online'.
bindEvents: function() {
document.addEventListener('deviceready', this.onDeviceReady, false);
},
// deviceready Event Handler
//
// The scope of 'this' is the event. In order to call the 'receivedEvent'
// function, we must explicitly call 'app.receivedEvent(...);'
onDeviceReady: function() {
app.receivedEvent('deviceready');
\t \t
\t \t document.getElementById("captureImage").addEventListener("click", captureImage);
\t \t
\t \t
},
// Update DOM on a Received Event
receivedEvent: function(id) {
var parentElement = document.getElementById(id);
var listeningElement = parentElement.querySelector('.listening');
var receivedElement = parentElement.querySelector('.received');
listeningElement.setAttribute('style', 'display:none;');
receivedElement.setAttribute('style', 'display:block;');
console.log('Received Event: ' + id);
}
};
app.initialize();
document.getElementById("captureImage").addEventListener("click", captureImage);
document.getElementById("selectImageFromGallery").addEventListener("click", selectImageFromGallery);
document.getElementById("uploadFile").addEventListener("click", uploadFile);
//data uri method
function captureImage() {
navigator.camera.getPicture(onSuccess, onFail, {
quality: 50,
\t targetWidth:200,
\t targetHeight:200,
\t allowEdit : false,
\t saveToPhotoAlbum: true,
\t encodingType: Camera.EncodingType.JPEG,
\t destinationType: Camera.DestinationType.DATA_URL
\t //destinationType: Camera.DestinationType.FILE_URL
});
function onSuccess(imageData) {
var image = document.getElementById('myImage'); \t
image.src = "data:image/jpeg;base64," + imageData;
\t //console.log(image.src);
\t console.log(imageData);
\t alert(imageData);
\t
}
function onFail(message) {
alert('Failed because: ' + message);
\t console.log(message);
}
}
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<div class="app">
\t \t \t <img id = "myImage"></img>
<button id = "captureImage">CAPTURE IMAGE</button>
\t \t \t
<div id="deviceready" class="blink">
<p class="event listening">Connecting to Device</p>
<p class="event received">Device is Ready</p>
</div>
</div>
<script type="text/javascript" src="cordova.js"></script>
<script type="text/javascript" src="js/index.js"></script>
</body>
</html>
у вас есть правильный cordova.js на вашем сервере? – jcesarmobile
да .. что все js нам нужно на сервере? – Dipanshu
Нет, вам, вероятно, нужно больше вещей, вам нужно загрузить все на «platform/android/assets/www /» для Android-приложения и всего на «platform/ios/www» для приложений iOS. – jcesarmobile