html61
html61
  • 发布:2017-02-16 19:51
  • 更新:2017-02-24 08:50
  • 阅读:2634

webview 怎么可以得到 嵌套网页里evaljs 返回的结果?

分类:HTML5+

webview 怎么可以得到 嵌套网页里evaljs 返回的结果?

2017-02-16 19:51 负责人:无 分享
已邀请:
chender

chender - 与人为善

不行,evaljs是没有返回值的,你可以在b页面里面再通过evaljs调用a页面的方法,把参数再传给a页面

  • html61 (作者)

    webview 是a,嵌套的http网址是b,请问怎么把b的值 传给 a

    2017-02-24 09:02

  • chender

    我上面说了啊,在b中也通过evaljs把值传给a,比如这样,在a中定义一个receive方法

    b.evalJS('plus.webview.getWebviewById("a").evalJS("receive('document.getElementById("xxx").innerHTML')")');

    其中存在多层引号的嵌套,你可以自己转义一下

    2017-02-24 09:10

html61

html61 (作者)

顶下

阿卢说他遇

阿卢说他遇 - 做网站、设计、应用程序等,喜欢美好的体验

其实听不明白问题是什么,但evaljs本身就可以直接传递数据啊,
webviewObj.evalJs("functionName('" + result + )'");

  • html61 (作者)

    感谢楼上,你意思理解反了。这边是想 evaljs 传值给webview

    2017-02-17 10:12

  • 阿卢说他遇

    回复 html61: 一样啊,无论你想从哪里传值给一个webview,只要有webviewId,就能获得webviewObj对象,然后就能执行webviewObj.evalJs了啊

    2017-02-17 10:20

  • html61 (作者)

    var test = embed.evalJs('return document.getElement("test").innerHTML'); 比如这个,我想获取网页内某个id的值,供app里使用

    2017-02-17 10:23

  • 阿卢说他遇

    回复 html61:好像不行,我都是用全局事件监听,重新传递回来的,就是各自执行一次evalJs互传。要不就localStorage存储数据,自行获取

    2017-02-17 10:30

  • html61 (作者)

    这边就是想 webview 得到网页的某个值,试了很多方法都不行。纠结啊

    2017-02-17 10:41

html61

html61 (作者)

感谢楼上,你意思理解反了。这边是想 evaljs 传值给webview

html61

html61 (作者)

var test = embed.evalJs('return document.getElement("test").innerHTML'); 比如这个,我想获取网页内某个id的值,供app里使用

html61

html61 (作者)

顶下

html61

html61 (作者)

顶下

html61

html61 (作者)

顶下

html61

html61 (作者)

顶下

html61

html61 (作者)

??????

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