2012-08-27 3 views
0

"PhoneScope"& "ChildBrowser"(iOS 앱 내부, Xcode 4 & PhoneGap 2.0)이 PhoneGap 플러그인을 사용하는 데 문제가 있습니다.Phonegap : BarcodeScanner & Childbrowser plugins

내 앱 UI에서 '스캔'버튼이 있습니다. 사용자가이 버튼을 클릭하면 바코드 스캐너가 시작됩니다.

바코드 스캐너 콜백의 성공 기능에서, 새로운 Childbrowser 윈도우 (app 내부)에서 스캔 한 복구 된 URL을 열어야합니다.

하지만 콘솔에 "URL 열기 : http://fr.wikipedia.org/"(예 :)이 표시되는 동안 새 Childbrowser 창이 열리지 않습니다. 여기

의 코드 내 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 창을 시작해야합니다.

아무도이 문제를 해결하는 방법을 알고 있습니까?

답변

2

나는 또한이 동일한 문제가 있습니다.

시간 초과로 해결하십시오.

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); 
    }); 
1

동일한 문제가 발생합니다.

내 응용 프로그램에는 바코드 판독기 외에 웹 페이지를 표시하는 또 다른 메커니즘이 있으며 그 작업을 수행 할 때 바코드 관련 페이지가로드되었음을 알 수 있지만 표시되지 않았습니다. ChildBrowserViewController.m에서

, 나는 webView.hidden = NO;입니다 loadURL()의 마지막 줄에서 찾고 있어요 우리가 바코드를하지만, 바코드 리더 창에 대해 뭔가를 얻기 위해 자식 브라우저를 일으킨 후 나는 아이 브라우저는 볼 설정되어 있는지 생각하고 있어요 잘못된 z-order로 설정되었지만, 나는 그것을 테스트하거나 앞에 가져 오려고 노력하는 방법을 알기 위해 sdk에 익숙하지 않습니다.

잠재적 인 영역을 타겟팅하는 데 도움이되기를 바랍니다.

관련 문제