2016-05-17 139 views
1

我正在做phonegap應用程序,我無法在index.html和inappbrowser窗口之間共享數據。我嘗試這個代碼,但它不爲我工作。在phonegap和inappbrowser之間共享數據

function addUsuario(){ 
    var fnac = document.getElementById("fnac").value; 
    var direccion = (document.getElementById("direccion").value).replace(/\s/g,'%20'); 
    var descripcion = (document.getElementById("descripcion").value).replace(/\s/g,'%20'); 
    //localStorage.setItem('"+direccion+"', direccion); 


    var ref = window.open('./geo.html', '_blank'); 
    ref.addEventListener("loadstart", function() { 
    var dire=document.getElementById("direccion").value; 
    ref.executeScript({ 
     code: "alert("+dire+");" 
    }); 
}); 

    setTimeout(function() { 

     var lat = localStorage.getItem('lat'); 
     var lng = localStorage.getItem('lng'); 
     alert(lng); 

     $('#datos').load("http://192.168.1.173/PHP_BS/mod_usuario.php?usuario=" + user + "&token=" + token+"&fnac="+fnac+"&dire="+direccion+"&descripcion="+descripcion+"&latitud="+lat+"&longitud="+lng); 

     ref.close(); 
    }, 11500); 


    }

我也嘗試用localStorage的,但只有共享數據從inappbrowser到index.js但不能從index.js到inappbrowser。

回答

0

嘗試這樣的:

在你geo.html頁:

<script> 
    function onReceiveData (serialisedData) { 
    var data = JSON.parse(serialisedData); 
    alert('received some data!'); 
    console.log(data); 
    // Do something with the data 
    } 
</script> 

在你科爾多瓦代碼:

var ref = window.open('./geo.html', '_blank'); 
ref.addEventListener('loadstop', function() { 
    var params = {foo: 1}; 
    // Since executeScript works with a string, we need to serialise the data we send. 
    ref.executeScript({code: "onReceiveData(" + JSON.stringify(params) + ")"}); 
}); 
+0

非常感謝您的回答,但我不工作沒有事件工作的警報。我會盡你所有的步驟。 – user3139428

+0

任何錯誤或其他信息來調試該問題? –

+0

我們正在使用手機應用程序,我們使用Facebook登錄,因此無法使用瀏覽器進行調試。我們唯一的信息是不工作,警報不出現 – user3139428