gpt4 book ai didi

ios - 手机间隙 : BarcodeScanner & Childbrowser plugins

转载 作者:行者123 更新时间:2023-11-28 20:30:53 24 4
gpt4 key购买 nike

我在使用这两个 PhoneGap 插件时遇到问题:“BarcodeScanner”和“ChildBrowser”(在 iOS 应用程序中,使用 XCode 4 和 PhoneGap 2.0)。

我的应用程序用户界面上有一个“扫描”按钮。当用户点击此按钮时,条码扫描器启动。

因此,在条形码扫描器回调的 Success 函数中,我需要在新的 Childbrowser 窗口(在应用程序内部)中打开从扫描中恢复的 URL。

但新的 Childbrowser 窗口从未打开,而控制台显示“打开 Url : http://fr.wikipedia.org/”(例如)。

这是我的 JS 代码部分:

$("#btnStartScan").click(function() {
var scanBarcode = window.plugins.barcodeScanner.scan(
function(result) {
if (!result.cancelled){
openUrl(result.text);
}
},
function(error) {
navigator.notification.alert("scanning failed: " + error);
});
});

function openUrl(url)
{
try {
var root = this;
var cb = window.plugins.childBrowser;

if(cb != null) {
cb.showWebPage(url);
}
else{
alert("childbrowser is null");
}
}
catch (err) {
alert(err);
}
}

例如,如果我在 Confirm 警报回调中调用我的 openURL() 函数,一切正常,如下所示:

if (!result.cancelled){
navigator.notification.confirm("Confirm?",
function (b) {
if (b === 1) {
openUrl(result.text);
}
},
'Test',
'Yes, No');
}

但我需要在扫描后直接启动 ChildBrowser 窗口,没有任何确认警报等。

请问有人知道怎么解决吗?

最佳答案

我也遇到了同样的问题。

通过设置超时解决。

   var scanBarcode = window.plugins.barcodeScanner.scan(
function(result) {
if (!result.cancelled){
setTimeout(function(){ openUrl(result.text); },500);
}
},
function(error) {
navigator.notification.alert("scanning failed: " + error);
});

关于ios - 手机间隙 : BarcodeScanner & Childbrowser plugins,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12145244/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com