一个头部导航页面1.html,subpages引入一个内容页面2.html,现需要在2.html获取数据后,渲染父页面1.html页面导航标签的一部分数据,如何获取,
网上查到这个 但是不知道怎么用 plus.webview.getWebviewById(plus.runtime.appid)
- 发布:2017-05-05 10:53
- 更新:2017-05-05 11:40
- 阅读:2520
如果获取父页面dom节点
子页面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传值过去就可以了
})
跨页面操作有两个方法,
一个是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
5***@qq.com (作者)
谢谢 我先试一下
2017-05-05 11:41
8***@qq.com
没有啊
2017-12-28 20:49