2012-01-29 5 views
1

기본적으로 iOS에서 ChildBrowser를 사용하고 있습니다. 거의 완벽하게 작동합니다. 문제는 onLocationChange, onClose 및 onOpenExternal이 작동하지 않는 것입니다. 그리고 저의 삶에 대해 이유를 파악할 수 없습니다.ChildBrowser onLocationChange not working

어떤 도움이 많이 나는 window.plugins.childBrowser.onLocationChange 요법을 시도

<script type="text/javascript" charset="utf-8"> 
    var cb; 
    function onBodyLoad() 
    { 
     document.addEventListener("deviceready",onDeviceReady,false); 
    } 
    /* PhoneGap has been initialized and is ready to roll */ 
    function onDeviceReady() 
    { 
     console.log("Device Ready"); 
     cb = ChildBrowser.install(); 
    } 

    function openChildBrowser(url) 
    { 
     console.log("New Url"+url); 
     try { 
      cb.showWebPage(url); 
      cb.onLocationChange = function(loc){ root.locChanged(loc); }; 
      cb.onClose = function(){root.onCloseBrowser()}; 
      cb.onOpenExternal = function(){root.onOpenExternal();}; 
     } 
     catch (err) 
     { 
      alert(err); 
     } 
    } 

    function onCloseBrowser() 
    { 
     console.log("closed"); 
     alert("In index.html child browser closed"); 
    } 

    function locChanged(loc) 
    { 
     console.log("new loc:"+loc); 
     childBrowser.close(); 
     alert("In index.html new loc = " + loc); 
    } 

    function onOpenExternal() 
    { 
     console.log("new loc:"); 
     alert("In index.html onOpenExternal"); 
    } 
</script> 

을 감상 할 수있다.

답변

0

root.onlocationChange를 가져오고, 필요가 없습니다.

0

locChanged, 주요 기능에 onCloseBrowser, onOpenExternal 올바른 통화를 할 수 캡슐화 때문에 childbrowser 키우면 예를 들어 locChanged 의 범위가없는 열 때 :

var facebook = function() { 
    locChanged = funciton() { 
     //your code here 
    } 
    return { 
     "init": init, 
     "locChanged": locChanged, 
     "onCloseBrowser": onCloseBrowser, 
     "onOpenExternal": onOpenExternal 
    } 
}();