0

我正在尝试使用 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" />
4

1 回答 1

0

问题解决了!

我应该使用

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

代替

<preference name="phonegap-version" value="2.9.0" />
于 2013-10-14T18:18:23.973 回答