currentWB: {} 定义一个对象
if (window.plus) {
this.plusReady()
} else {
document.addEventListener('plusready', this.plusReady, false)
}
plusReady () {
this.currentWB = window.plus.webview.currentWebview() //获取当前窗口
let bottom = this.$refs.bottom.clientHeight //获取底部导航栏的高
let safeBottom = this.currentWB.getSafeAreaInsets().deviceBottom //获取当前页面底部安全区域的偏移量
// 关闭其余webview
let all = window.plus.webview.all() //获取所有窗口
if (all.length > 1) {
for (let i = 0; i < all.length; i++) {
if (all[i] !== this.currentWB) {
all[i].close('none') //关闭所有窗口
}
}
}
// 创建home页面webview
this.navList[0].sub = window.plus.webview.create(this.navList[0].url, this.navList[0].class, {
top: '0px',
bottom: `${bottom + safeBottom}px`
})
this.currentWB.append(this.navList[0].sub)
},
cutDate (index) {
let bottom = this.$refs.bottom.clientHeight
let safeBottom = this.currentWB.getSafeAreaInsets().deviceBottom
// 当前webview切换到当前webview不进行逻辑变更
if (this.navList[index].sub === this.activeMenu[0].sub) {
return
}
// 检测webview是否已创建,动态按需创建webview
if (this.navList[index].sub) {
window.plus.webview.hide(this.activeMenu[0].sub)
window.plus.webview.show(this.navList[index].sub)
} else {
window.plus.webview.hide(this.activeMenu[0].sub)
this.navList[index].sub = window.plus.webview.create(this.navList[index].url, this.navList[index].class, {
top: '0px',
bottom: `${bottom + safeBottom}px`
})
this.currentWB.append(this.navList[index].sub)
}
//底部导航栏切换
this.navList = this.navList.map(item => {
item.active = false
return item
})
this.navList[index].active = true
}
activeMenu () {//找出active为true的属性
return this.navList.filter((item) => {
return item.active
})
}
H5+窗口创建与切换
最新推荐文章于 2020-12-20 00:27:41 发布