javascript - Phonegap 构建 - 未捕获的类型错误 : Cannot read property 'getPicture' of undefined

标签 javascript cordova phonegap-build

应用程序

我正在尝试创建一个简单的拍照应用,正在测试 phonegap 构建

当应用程序加载时,我得到一个控制台日志,上面写着 deviceready - 当设备准备就绪时记录

问题

当我点击按钮启动相机时,出现控制台错误:

未捕获的类型错误:无法读取未定义的属性“getPicture”

JS/HTML

<button onclick="app.takePicture();">Take Picture</button>

<script type="text/javascript" src="phonegap.js"></script>
<script>
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 explicity call 'app.receivedEvent(...);'
    onDeviceReady: function() {
        app.receivedEvent('deviceready');
    },
    // 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); // <-- this works ok
    },

    takePicture: function() {
      navigator.camera.getPicture( function( imageURI ) {
        alert( imageURI );
      },
      function( message ) {
        alert( message );
      },
      {
        quality: 50,
        destinationType: Camera.DestinationType.FILE_URI
      });
    }
};

app.initialize();
</script>

我也尝试过使用 cordova.js 但同样的问题。

我之前看到过这个问题,但找不到解决方法,有吗?有更好的方法吗?

最佳答案

想通了,虽然在任何地方都找不到这个记录!

确保将此添加到 config.xml 文件中:

<plugin name="org.apache.cordova.camera" spec="0.3.6" source="pgb" />

根据我的收集,这基本上创建了 navigator 对象

关于javascript - Phonegap 构建 - 未捕获的类型错误 : Cannot read property 'getPicture' of undefined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34158171/

相关文章:

iphone - 如何在 IOS 中使用 .m 文件将一个 .xib 文件更改为另一个文件

ios - 我可以使用 PhoneGap 创建和提交 iBook

windows - Phone Gap Windows Build 访问规则

javascript - 使用Jquery慢慢隐藏div

javascript - 单击动态创建的编辑按钮不起作用

javascript - 我可以使用 JavaScript 将 css 中的现有颜色复制到渐变背景吗?

javascript - XMLHttpRequest 无法加载 URL。对预检的响应未通过...因此不允许访问

ios - 带有 phonegap 的 Jquery mobile 的样式不适合移动应用程序

android - Google Maps Javascript API V3 在移动/ native 应用程序上找不到 404

javascript - 选择不适用于模态的选项