5***@qq.com
5***@qq.com
  • 发布:2017-05-05 10:53
  • 更新:2017-05-05 11:40
  • 阅读:2370

如果获取父页面dom节点

分类:MUI

一个头部导航页面1.html,subpages引入一个内容页面2.html,现需要在2.html获取数据后,渲染父页面1.html页面导航标签的一部分数据,如何获取,
网上查到这个 但是不知道怎么用 plus.webview.getWebviewById(plus.runtime.appid)

2017-05-05 10:53 负责人:无 分享
已邀请:
洛上千栀

洛上千栀

子页面js

document.addEventListener('plusready',function(){
var a = plus.webview.currentWebview();
var parentWeb = a.parent();//父页面的webview
//mui.fire传值过去就可以了
})

洛上千栀

洛上千栀

子页面js

document.addEventListener('plusready',function(){
var a = plus.webview.currentWebview();
var parentWeb = a.parent();//父页面的webview
//mui.fire传值过去就可以了
})

洛上千栀

洛上千栀

哦,前提是你的父极页面不是入口页
是的话就用getLaunchWebview

周羊羊

周羊羊

跨页面操作有两个方法,
一个是mui.js封装好的mui.fire函数

在一个页面调用mui.fire触发另一个页面的自定义事件

var targetWebview = plus.webview.getWebviewById('test.html');  
var data = {name:'hahaha'};  
mui.fire( targetWebview ,'myEvent' , data );

在另一个页面监听这个自定义事件

window.addEventListener('myEvent',function(event){  
  //通过event.detail可获得传递过来的参数内容  
  console.log(event.detail);  
 //然后你想干嘛干嘛  
});

文档在这http://dev.dcloud.net.cn/mui/event/#customevent

另一个方法是用webview对象的evalJS方法(mui.js里,mui.fire的实现也是用的这个方法)

var targetWebview = plus.webview.getWebviewById('test.html'); //取得目标窗口  
targetWebview.evalJS("doSomething('hehehehe')");

在targetWebview里声明要运行的函数

function doSomething(data){  
    console.log(data)  
}

这是文档http://www.html5plus.org/doc/zh_cn/webview.html#plus.webview.WebviewObject.evalJS

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