绝地求生
绝地求生
  • 发布:2017-02-04 15:38
  • 更新:2017-02-04 18:18
  • 阅读:10146

如何获取前一个webview页面的id

分类:MUI

遇到这样一个问题,比如A页面跳转B页面,怎样在B页面获取A页面的webview对象,然后通过plus.webview.getWebviewById('***');这个方法进行一系列的操作,现在问题是getWebviewById()这里面的参数怎么写?我直接写他的页面url路径获取不到为null。然后我通过前一个页面用ws=plus.webview.currentWebview();ws.id = 'index';这个方法设置了页面id标识,然后将这个id传值到B页面,用plus.webview.getWebviewById()这个方法也获取不到A页面的webview对象!!!

代码:
A页面
<script type="text/javascript">
var ws = null;
mui.plusReady(function(){
ws = plus.webview.currentWebview();
ws.id = 'index';
// console.log(ws.id);
});
mui("body").on("tap", "a", function() {
var id = this.href;
mui.openWindow({
id: id,
url: id,
styles: 'webview_style',
extras:{
pageId:ws.id //扩展参数
},
show: {
aniShow: 'pop-in'
}
});

        });  

</script>
B页面
<script type="text/javascript">
mui.plusReady(function(){

var ws = plus.webview.currentWebview();  
var page = plus.webview.getWebviewById(ws.pageId);  
console.log(page);  

});

</script>
打出log后page为null

2017-02-04 15:38 负责人:无 分享
已邀请:
Trust

Trust - 少说废话

GETONE

GETONE

既然是open方法,可以用参数传过去,在B上获取

[已删除]

[已删除]

1、id是创建时候固定,为何要动态指定?
2、获取创建者id:plus.webview.currentWebview().opener().id,不知道你是不是要这个;
3、如果不是创建者,我一般会在A打开B之后,执行B页面里的一个evalJS,从而动态改变B里面的一个变量,以后通过这个变量来操作A。不知道对你是否有用。

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