Сборка Phonegap: плагин сканера штрих-кода не работает

Я пытаюсь использовать плагин сканера штрих-кода Phonegap Build в моем мобильном приложении jQuery с помощью Phonegap Build, но он не работает.

Здесь у меня есть пример страницы:

<!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" />

person Alan Gularte    schedule 13.10.2013    source источник


Ответы (1)


Проблема решена!

я должен использовать

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

вместо

<preference name="phonegap-version" value="2.9.0" />
person Alan Gularte    schedule 14.10.2013