如何获取Cordovo导航器对象而不是javascript导航器对象?

时间:2015-09-17 15:33:40

标签: cordova phonegap-plugins

我对科尔多瓦非常陌生。我正在尝试创建一个简单的应用,用户可以在其中拍照,然后该照片会以html图片标记显示。

我遇到了一些我发现难以解决的问题:

(1)首先在android上运行这个演示移动应用程序,

 navigator.camera.getPicture(onSucess, onFail, { quality: 50, destinationType: Camera.DestinationType.DATA_URL, sourceType: Camera.PictureSourceType.PHOTOLIBRARY });

navigator.camera重新调整为null。这是因为浏览器将导航器对象引用到javascript导航器对象而不是cordova对象。我该如何解决这个问题?

(2)当在Visual Studio中的Android模拟器上运行时,我在尝试使用imageUri分配时遇到以下错误

代码:

function onDeviceReady() {};


    $("#takePhotobtn").click(function () {
        //  camera plugin code to open camera and display pic.
        navigator.camera.getPicture(onSucess, onFail, { quality: 50, destinationType: Camera.DestinationType.DATA_URL, sourceType: Camera.PictureSourceType.PHOTOLIBRARY });
    });

    function onSucess(ImageData) {
        $("#candidatePhoto").attr("src", "data:image/jpeg;base64," + ImageData);
        alert("yes this works updated");
    }

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

错误:无法加载资源:data:image / jpeg; base64,blob:http%3A // localhost%3A4400 / c78426c3-2f0e-4b9a-955c-df0005519358无法加载资源:net :: ERR_INVALID_URL

1 个答案:

答案 0 :(得分:1)

如果有人也偶然发现了这个问题,我通过在我的主index.html中添加对cordova.js的引用来解决这个问题

<!doctype html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">    
    <link rel="stylesheet" type="text/css" href="//fonts.googleapis.com/css?family=Roboto:300,400,500,700">
    <link rel="stylesheet" type="text/css" href="//fonts.googleapis.com/icon?family=Material+Icons">
    <link rel="shortcut icon" href="%PUBLIC_URL%/favicon.ico">
    <title>Audit Chamber</title>
  </head>
  <body>
    <div id="root"></div>
    <script type="text/javascript" src="cordova.js"></script>
  </body>
</html>