Ios Phonegap:BarcodeScanner&;儿童浏览器插件
我在使用这两个PhoneGap插件时遇到了一个问题:“条形码扫描仪”和“儿童浏览器”(在iOS应用程序中,使用XCode 4和PhoneGap 2.0) 我的应用程序界面上有一个“扫描”按钮。当用户点击此按钮时,条形码扫描仪启动 因此,在条形码扫描仪回调的成功函数中,我需要在一个新的Childbrowser窗口(应用程序内部)中打开扫描恢复的URL 但新的Childbrowser窗口从未打开,而控制台显示“打开Url:”(例如) 以下是我的JS部分代码:Ios Phonegap:BarcodeScanner&;儿童浏览器插件,ios,phonegap-plugins,barcode-scanner,childbrowser,Ios,Phonegap Plugins,Barcode Scanner,Childbrowser,我在使用这两个PhoneGap插件时遇到了一个问题:“条形码扫描仪”和“儿童浏览器”(在iOS应用程序中,使用XCode 4和PhoneGap 2.0) 我的应用程序界面上有一个“扫描”按钮。当用户点击此按钮时,条形码扫描仪启动 因此,在条形码扫描仪回调的成功函数中,我需要在一个新的Childbrowser窗口(应用程序内部)中打开扫描恢复的URL 但新的Childbrowser窗口从未打开,而控制台显示“打开Url:”(例如) 以下是我的JS部分代码: $("#btnStartScan").c
$("#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);
}
}
如果我在确认警报回调中调用openURL()函数,所有这些都可以正常工作,例如:
if (!result.cancelled){
navigator.notification.confirm("Confirm?",
function (b) {
if (b === 1) {
openUrl(result.text);
}
},
'Test',
'Yes, No');
}
但我需要在扫描后直接启动ChildBrowser窗口,而不需要任何确认警报等
有人知道怎么解决这个问题吗?我遇到了完全相同的问题 除了条形码阅读器,我的应用程序还有另一种显示网页的机制,当我执行该操作时,我可以看到与条形码相关的页面已加载,但从未显示过 在ChildBrowserViewController.m中,我正在查看
loadURL()
的最后一行,它是webView.hidden=NO
我认为在我们使用条形码后,子浏览器被设置为可见,但条形码阅读器窗口的某些内容导致子浏览器被设置为错误的z顺序,但我对sdk不够熟悉,不知道如何测试或尝试将其带到前端
希望这有助于瞄准潜在领域。我遇到了完全相同的问题 除了条形码阅读器,我的应用程序还有另一种显示网页的机制,当我执行该操作时,我可以看到与条形码相关的页面已加载,但从未显示过 在ChildBrowserViewController.m中,我正在查看
loadURL()
的最后一行,它是webView.hidden=NO
我认为在我们使用条形码后,子浏览器被设置为可见,但条形码阅读器窗口的某些内容导致子浏览器被设置为错误的z顺序,但我对sdk不够熟悉,不知道如何测试或尝试将其带到前端
希望这有助于瞄准潜在领域。我也有同样的问题 通过设置超时来解决它
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);
});
我也有同样的问题 通过设置超时来解决它
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);
});