Phonegap Build:条码扫描器插件不起作用

时间:2013-10-13 20:32:45

标签: jquery jquery-mobile phonegap-plugins barcode-scanner phonegap-build

我正在尝试使用Phonegap Build在我的jQuery Mobile应用程序构建中使用Phonegap Build Barcode Scanner Plugin,但它不起作用。

这里有一个示例页面:

<!DOCTYPE html>
<html lang="pt-br">
<html>
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="initial-scale=1.0, user-scalable=no, maximum-scale=1">
    <meta name="apple-mobile-web-app-capable" content="yes">
    <meta name="apple-mobile-web-app-status-bar-style" content="black">
    <title>Save Points</title>

    <!-- CSS -->
    <link rel="stylesheet" href="css/jquery.mobile-1.3.1.min.css">  
    <link rel="stylesheet" href="css/themes/savepoints.min.css" />
    <link rel="stylesheet" href="css/codiqa.ext.css">

    <!-- jQuery and jQuery Mobile -->
    <script type="text/javascript" src="phonegap.js"></script>
    <script type="text/javascript" src="barcodescanner.js"></script>
    <script src="js/jquery-1.9.0.js"></script>
    <script src="js/codiqa.ext.js"></script>
    <script src="js/jquery.mobile-1.3.1.min.js"></script>
</head>
<body>
<div data-role="page" id="page_sample" data-theme="a">      
    <div data-role="content">
       <div id="content">       
            <p><a href="#" class="topcoat-button" id="scan">SCAN</a></p>
            <p><a href="#" class="topcoat-button" id="encode">ENCODE</a></p>
       </div>
    </div>
</div>
</body>
</html>

在文件codiqa.ext.js中我有:

$(document).on('pageshow', '#page_sample', function(e) {    
        $('#scan').click(function () {
            alert('scanning');

            var scanner = cordova.require("cordova/plugin/BarcodeScanner");

            alert(scanner);

            scanner.scan( function (result) { 
                alert("We got a barcode\n" + 
                "Result: " + result.text + "\n" + 
                "Format: " + result.format + "\n" + 
                "Cancelled: " + result.cancelled);  

               alert("Scanner result: \n" +
                    "text: " + result.text + "\n" +
                    "format: " + result.format + "\n" +
                    "cancelled: " + result.cancelled + "\n");
                alert(result);
            },function (error) { 
                console.log("Scanning failed: ", error); 
            });
        });
    });

我的config.xml文件:

<!-- Barcode Scanner -->
<gap:plugin name="com.phonegap.plugins.barcodescanner" version="1.0.2" />

调试这段代码,我意识到脚本停在了一行:

var scanner = cordova.require("cordova/plugin/BarcodeScanner");

我正在关注官方文档,其中说我不必将文件barcodescanner.js放在我的项目中,而只是将其引用到html标题中。

有人知道我做得好吗?

提前致谢。

已更新

问题解决了!我应该用

<preference name="phonegap-version" value="3.0.0" />

而不是

<preference name="phonegap-version" value="2.9.0" />

1 个答案:

答案 0 :(得分:0)

问题解决了!

我应该使用

<preference name="phonegap-version" value="3.0.0" />

而不是

<preference name="phonegap-version" value="2.9.0" />