berryPan
berryPan
  • 发布:2016-08-17 15:16
  • 更新:2016-08-17 17:35
  • 阅读:1613

如何获取启动页的webView对象,子页面需要向主页面传值。

分类:HTML5+

现在做了一个底部导航的页面,在其子页面中有一个连接跳转到了导航的一个连接上。通过点击导航菜单,对应的按钮可以变色。但通过在其子页面中调用plus.webview.show()方法,可以让页面显示,但相应按钮不变色。求高人指教!

2016-08-17 15:16 负责人:无 分享
已邀请:
小米稀饭大米粥

小米稀饭大米粥 - 诗词歌赋,样样稀松。

var allw = plus.webview.all();  //这个是获取所有页面的对象然后通过地址进行识别遍历  
for(var i = 0; i < allw.length; i++) {  
    if(allw[i].getURL().indexOf("index.html") != -1) {  
                 // plus.webview.getWebviewById(allw[i].id),这个就是index页面的对象  
                 //下面的方法是对其的刷新  
        plus.webview.getWebviewById(allw[i].id).reload();  
                //这个是获取主页面的对象  
                var needWeb =  plus.webview.getWebviewById(allw[i].id);  
    }                     
}
berryPan

berryPan (作者)

谢谢,我已经用另一种方法达到同样的效果。代码如下:
mui.fire(plus.webview.getWebviewById('HBuilder'),'onPageChangeTo',{pageId:'html/tab_4_down/tab_4_downlist.html'})

HBuilder是主页面的webviewId。

现在想知道,如何设置webView的ID。

小米稀饭大米粥

小米稀饭大米粥 - 诗词歌赋,样样稀松。

//这个设置的id就是给页面设置的id,但是我就是由于这个是主页面无法获取这个id我才进行这个页面字符串的包含遍历  
mui.openWindow({  
    url:'index.html',  
    id:'index.html',  
    extras:{  
        name:'mui',  
        version:'0.5.8'  
    }  
});
berryPan

berryPan (作者)

在主页面下使用var self = plus.webview.currentWebview();来获取当前webView。
然后通过self.id即可获取到主页面ID。alert()就可以看到id了。
客服说webView创建后,其ID值是不能再被改变的。

小米稀饭大米粥

小米稀饭大米粥 - 诗词歌赋,样样稀松。

啊,那这样就对 self 放到公共类里进行特殊的命名,这样把common.js里的这个self引用进其他页面,其他页面也获取进行主页面的对象了吧。

berryPan

berryPan (作者)

这里的self只是一个变量而已,没有特殊含义。也可以将self改成任何其它字符串,除了关键字。

var abc = plus.webview.currentWebview();
abc.id

小米稀饭大米粥

小米稀饭大米粥 - 诗词歌赋,样样稀松。

恩恩,这个了解!

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