現在、バーコード スキャナー プラグイン (v 0.6.0) と phonegap 2.9.0 を使用する phonegap に取り組んでいます。実際のバーコード スキャナーは正常に動作し、電話でカメラ/スキャナーを起動してバーコードを読み取ることができます。result.text を単純なアラートに表示することもできます (これをコールバックで行う限り)。ただし、results.text の値をグローバル変数または隠しフィールドに保存しようとすると、値は変数で定義されておらず、フィールドでは空です。
私の現在のコード
openBarcodeScanner();
var code = document.getElementById('barcode').value;
alert(code);
function openBarcodeScan(viewInfo){
var scanner = cordova.require("cordova/plugin/BarcodeScanner");
scanner.scan(function (result){
document.getElementById('barcode').value = result.text;
},
function (error){
alert ( error );
});
}
私は愚かなことをしているのかもしれませんが、私の人生ではそれを理解することはできません. 私はグローバル変数を使用することを好みますが、隠しフィールドは、コールバックの外で result.text を渡すための最後の努力でした。
編集:これは非同期コールバックのせいだと思いますが、関数の外でresult.textを取得する方法がわかりません。