- 发布:2021-04-26 15:32
- 更新:2021-04-26 15:32
- 阅读:497
产品分类: uniapp/App
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: win10 专业版
HBuilderX类型: 正式
HBuilderX版本号: 3.1.11
手机系统: 全部
手机厂商: 华为
页面类型: vue
打包方式: 云端
项目创建方式: HBuilderX
测试过的手机:
示例代码:
<template>
<view>
</view>
</template>
<script>
var wv;//计划创建的webview
export default {
onLoad(option) {
let title = option.name;
uni.setNavigationBarTitle({
title: title,
})
// #ifdef APP-PLUS
wv = plus.webview.create("","custom-webview",{
plusrequire:"none", //禁止远程网页使用plus的API,有些使用mui制作的网页可能会监听plus.key,造成关闭页面混乱,可以通过这种方式禁止
'uni-app': 'none', //不加载uni-app渲染层框架,避免样式冲突
top:uni.getSystemInfoSync().statusBarHeight+44, //放置在titleNView下方。如果还想在webview上方加个地址栏的什么的,可以继续降低TOP值
height:uni.getSystemInfoSync().windowHeight
})
var url = uni.getStorageSync("url");
wv.loadURL(url);
var currentWebview = this.$scope.$getAppWebview(); //此对象相当于html5plus里的plus.webview.currentWebview()。在uni-app里vue页面直接使用plus.webview.currentWebview()无效,非v3编译模式使用this.$mp.page.$getAppWebview()
currentWebview.append(wv);//一定要append到当前的页面里!!!才能跟随当前页面一起做动画,一起关闭
setTimeout(function() {
wv.setStyle({height:uni.getSystemInfoSync().windowHeight})
}, 1000); //如果是页面初始化调用时,需要延时一下
// #endif
}
};
</script>
<template>
<view>
</view>
</template>
<script>
var wv;//计划创建的webview
export default {
onLoad(option) {
let title = option.name;
uni.setNavigationBarTitle({
title: title,
})
// #ifdef APP-PLUS
wv = plus.webview.create("","custom-webview",{
plusrequire:"none", //禁止远程网页使用plus的API,有些使用mui制作的网页可能会监听plus.key,造成关闭页面混乱,可以通过这种方式禁止
'uni-app': 'none', //不加载uni-app渲染层框架,避免样式冲突
top:uni.getSystemInfoSync().statusBarHeight+44, //放置在titleNView下方。如果还想在webview上方加个地址栏的什么的,可以继续降低TOP值
height:uni.getSystemInfoSync().windowHeight
})
var url = uni.getStorageSync("url");
wv.loadURL(url);
var currentWebview = this.$scope.$getAppWebview(); //此对象相当于html5plus里的plus.webview.currentWebview()。在uni-app里vue页面直接使用plus.webview.currentWebview()无效,非v3编译模式使用this.$mp.page.$getAppWebview()
currentWebview.append(wv);//一定要append到当前的页面里!!!才能跟随当前页面一起做动画,一起关闭
setTimeout(function() {
wv.setStyle({height:uni.getSystemInfoSync().windowHeight})
}, 1000); //如果是页面初始化调用时,需要延时一下
// #endif
}
};
</script>
操作步骤:
暂无
暂无
预期结果:
除web-view页面外依旧可以使用,而不是需要退出重新打开
除web-view页面外依旧可以使用,而不是需要退出重新打开
实际结果:
整个app均无法使用,需要重新打开才可以操作
整个app均无法使用,需要重新打开才可以操作
bug描述:
代码示例中是所有第三方页面的加载vue文件内容,当加载某些页面时,由于数据大小原因,可能导致页面卡死,点击无反应,点击返回按钮之后,其他页面均无反应。
0 个回复