当前位置: 首页 > 知识库问答 >
问题:

在phonegap和inappbrowser之间共享数据

幸阳波
2023-03-14

我正在做一个phonegap应用程序,我不能在index.html和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。

共有1个答案

巫马昆杰
2023-03-14

用这个试试:

在geo.html页面中:

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

在您的Cordova代码中:

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) + ")"});
});
 类似资料:
  • 问题内容: 我有一些称为的数据,该数据位于三个孩子的父对象的范围内: 在这三个指令之间共享的最佳方法是什么?选项包括: 使用隔离的范围传递三遍,从而跨四个范围复制它 让子指示继承父范围,并找到,或在 把上并注入到这一点的子指示 还是有另一种更好的方法? 问题答案: 您可以创建一个工厂,该工厂可以传递给每个指令或控制器。这样可以确保在任何给定时间只有一个数组实例。编辑:这里唯一的陷阱是确保您在指令作

  • 寻找一种方法,使服务在必要时将最新数据提供给订阅的组件。例如:组件 3 将更改写入 API 以下是一些片段和一些描述,说明到目前为止我所做的工作: 该服务通过HTTP从API获取数据。组件1和组件2订阅了服务返回的observable:

  • 问题内容: 我想将一些数据从一个HTML页面发送到另一HTML页面。我通过类似的查询参数发送数据 。这种方法的问题在于数据保留在URL中。是否有其他方法可以使用JavaScript或jquery在HTML页面之间发送数据。 问题答案: 为什么不将值存储在HTML5存储对象(例如或)中,请访问HTML5存储文档以获取更多详细信息。使用此功能,您可以在本地临时/永久存储中间值,然后在以后访问您的值。

  • 问题内容: 有没有办法在AngularJS中的服务之间共享数据? 用例:来自不同服务的数据聚合 例如,我想要一个service1从REST服务加载一些数据。然后,另一个service2将来自另一个REST API的其他数据添加到service1数据中,以创建数据聚合服务。 我基本上是想根据它们使用的API来分离服务,但是仍然有一个服务来最终保存所有数据。 问题答案: 创建使用延迟库的第三项服务,以

  • Windows版本和内部版本2004(操作系统内部版本19037.1) windows上安装的docker 运行诸如,,,等命令都可以正常工作。现在我想推一个图像,所以当然我必须先登录。 我在WSL终端中运行

  • 问题内容: 是否有使用节点,表达和redis / predis共享PHPSESSID的最新指南(或示例代码)? 我发现有1-2年的一些教程,它们都使用旧版本的Express或不使用Express。 Express cookie解析器也已弃用。 https://simplapi.wordpress.com/2012/04/13/php-and-node-js-session-share- redi/