虾米已存在
虾米已存在
  • 发布:2014-11-07 11:21
  • 更新:2019-10-25 17:20
  • 阅读:3885

2个webview间怎么通信?

分类:MUI
mui

webview间的数据传递方式除了evalJS还有别的吗?

如果我想在一个webview中判断另一个webview的某一个变量是否为true该怎么判断呢?

2014-11-07 11:21 负责人:无 分享
已邀请:
lkiarest

lkiarest

可以用发送自定义事件的方式啊。。。文档里有的

  • a***@gmail.com

    这种方式 具体是怎么实现的。我怎么没看到文档

    2019-05-15 16:09

虾米已存在

虾米已存在 (作者)

我要的是这个webview判断另一个webview里的值后做事情,不是发事件让另一个webview去接收再做事情。

  • lkiarest

    一样的啊,你发个查询的事件过去,对方发个结果事件过来不就完了

    2014-11-07 11:27

  • 虾米已存在 (作者)

    这是异步了。

    2014-11-07 12:24

虾米已存在

虾米已存在 (作者)

我不要异步的。

虾米已存在

虾米已存在 (作者)

需要这么麻烦吗?不要一个很简单的事情弄出来一个很麻烦的事情出来了啊。

虾米已存在

虾米已存在 (作者)

如果需要这样,我可以用别的方式实现。
另一个webview的值已经在那里,我只是想去判别第二个wiebview的某一个标志,决定本webview要不要做什么操作。
有简单的方法吗?我只是想在if里判断第二个webview的标志而已。

  • lkiarest

    这个你可以理解为进程间通信吧,总有几种方式的,你自己看着用呗。只是必须要比正常进程内调用要麻烦点

    2014-11-07 12:50

  • 虾米已存在 (作者)

    怎么说呢,异步的方式,不好控制时间,还涉及接口的问题,写起来会很麻烦,我个人是比较讨厌写导异步程序的,能不用异步我就不会用.

    plus.webview这样,也许是可以取到,我还没测.这种如果可以应该是最简单的方式.

    2014-11-07 13:15

  • lkiarest

    回复 虾米已存在:做项目异步处理是难免的。。多用用就好了,其实并不麻烦~~

    2014-11-07 13:46

xiaokar

xiaokar - 一名对代码整洁度有强迫症的专业前端

一个页面设置localStorage另一个使用window.addEventListener("storage", function (e)监听并处理业务,最后在界面关闭使用window.onbeforeunload = function (e)清除缓存

4***@qq.com

4***@qq.com

用缓存吧,plus.storage.setItem

DCloud_App_Array

DCloud_App_Array

因为Webview是在不同的JS Content环境中运行的,通常只能在各自html页面中找到对方Webview对象并且调用evalJS方法运行指定的js脚本。
如果只是想判断各Webview的状态,则可以通过plus.storage. API来同步状态数据,如:
在A中:plus.storage.setItem("flag","yes");
在B中:if(plus.storage.getItem("flag"=="yes"){/
...*/}

该问题目前已经被锁定, 无法添加新回复