我的代码使用Camera Cordova有什么问题?

时间:2016-03-01 09:42:17

标签: javascript ios cordova phonegap-plugins cordova-plugins

我已经尝试了几个小时。我确信这是一个我想念的支架或愚蠢的东西。我已经问了一个与此相关的问题,但它并没有解决我的问题。

我只是想拍一张照片并将其存储在一个变量中以便稍后使用。

我将代码简化为最大化。有一页,如下:

    <!doctype html>
<html lang="fr">
<head>
  <meta charset="utf-8">
  <title>Titre de la page</title>

    <meta name="viewport" content="width=device-width,height=device-height,initial-scale=1"/>
  <link rel="stylesheet" href="style.css">
    <link rel="stylesheet" href="http://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.css" />
      <script src="http://code.jquery.com/jquery-1.11.1.min.js"></script>
    <script src="http://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.js"></script>


</head>
<body>

<div class="ui-btn" id="prendrephoto1"> Prendre photo equipe1</div>

<button id="prendrephoto2"> Prendre photo equipe2</button>

<div id="myImage"></div>

<a class="ui-btn" href="#page2">Jouer</a>

</body>

<script type="text/javascript" src="cordova.js"></script>
<script type="text/javascript" src="js/cordova.js"></script>
<script type="text/javascript" src="js/index.js"></script>

<script>

$(document).ready(function(){
var photo1;
var photo2;

$("#prendrephoto2").bind("click"function(){
alert('je suis le bouton 2');

});

$("#prendrephoto1").bind("click",function(){
alert("it is starting");
navigator.camera.getPicture(onSuccess, onFail, 
{ quality: 50, 
  destinationType: Camera.DestinationType.FILE_URI,
  sourceType:Camera.PictureSourceType.Camera, }); 

});

function onSuccess(imageURI) {
     alert("It is working");
     //var image = document.getElementById('myImage');
    //image.src = imageURI;
}

function onFail(message) {
    alert('Failed because: ' + message);
}

//derniere balise jquery
});
</script>

</html>

只是为了确保我已经完成了所有事情,遵循xml和插件的2个屏幕截图。

enter image description here

enter image description here

然后,在终端:

cordova run --device

它在我的mIphone上正常启动,但点击按钮时没有任何反应。 有什么帮助吗?

一个侧面问题,什么是&#34;开发者javascript控制台&#34;当应用程序在Iphone上运行时?

3 个答案:

答案 0 :(得分:0)

在设备准备之前,您无法使用navigator.camera功能。

你应该这样写:

document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
    navigator.camera.getPicture(onSuccess, onFail,
            {
                quality: 50,
                destinationType: Camera.DestinationType.FILE_URI,
                sourceType: Camera.PictureSourceType.Camera,
            });

}

答案 1 :(得分:0)

似乎一切都很好,除了第37行的语法错误

点击后,在第37行

添加“,”

$("#prendrephoto2").bind("click", function(){
       alert('je suis le bouton 2');
});

答案 2 :(得分:0)

改变这一点。

$("#prendrephoto2").bind("click"function(){
 alert('je suis le bouton 2');
});

对此。

$("#prendrephoto2").bind("click",function(){
 alert('je suis le bouton 2');
 alert('Click Working');
});

看起来你错过了逗号,所以它会给你语法错误。

希望这能解决您的问题。