Ios Phonegap:BarcodeScanner&;儿童浏览器插件

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

我在使用这两个PhoneGap插件时遇到了一个问题:“条形码扫描仪”和“儿童浏览器”(在iOS应用程序中,使用XCode 4和PhoneGap 2.0)

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

因此,在条形码扫描仪回调的成功函数中,我需要在一个新的Childbrowser窗口(应用程序内部)中打开扫描恢复的URL

但新的Childbrowser窗口从未打开,而控制台显示“打开Url:”(例如)

以下是我的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);
       }
}
如果我在确认警报回调中调用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);
   });