74 lines
1.9 KiB
Vue
74 lines
1.9 KiB
Vue
|
|
<template>
|
|||
|
|
<view>
|
|||
|
|
<web-view :src="url"></web-view>
|
|||
|
|
</view>
|
|||
|
|
</template>
|
|||
|
|
|
|||
|
|
<script setup>
|
|||
|
|
import { ref,onMounted,getCurrentInstance } from 'vue';
|
|||
|
|
import { onLoad,onReady } from '@dcloudio/uni-app';
|
|||
|
|
const { proxy } = getCurrentInstance();
|
|||
|
|
|
|||
|
|
let windowInfo = ref(null);
|
|||
|
|
let url = ref('');
|
|||
|
|
let title = ref('');
|
|||
|
|
//将要创建的webview对象
|
|||
|
|
let wv;
|
|||
|
|
onLoad(async(opt) => {
|
|||
|
|
// console.log(opt)
|
|||
|
|
url.value = 'http://www.baidu.com'//opt.url;
|
|||
|
|
title.value = opt.title;
|
|||
|
|
|
|||
|
|
})
|
|||
|
|
|
|||
|
|
onReady(()=>{
|
|||
|
|
setTimeout(()=>{
|
|||
|
|
uni.setNavigationBarTitle({
|
|||
|
|
title:'app中要设置的标题'
|
|||
|
|
})
|
|||
|
|
},2000)
|
|||
|
|
})
|
|||
|
|
|
|||
|
|
onMounted(() => {
|
|||
|
|
uni.getSystemInfo({
|
|||
|
|
success: (res)=> {
|
|||
|
|
windowInfo.value = res;
|
|||
|
|
createWvAndLoadUrl(url.value);
|
|||
|
|
}
|
|||
|
|
});
|
|||
|
|
})
|
|||
|
|
|
|||
|
|
/*创建web-view并加载url*/
|
|||
|
|
const createWvAndLoadUrl=(url)=>{
|
|||
|
|
// #ifdef APP-PLUS
|
|||
|
|
wv = plus.webview.create(url,"webview",{
|
|||
|
|
// plusrequire:"none", //禁止远程网页使用plus的API,有些使用mui制作的网页可能会监听plus.key,造成关闭页面混乱,可以通过这种方式禁止
|
|||
|
|
top: 0,//this.windowInfo.statusBarHeight + 126, //放置在titleNView下方。如果还想在webview上方加个地址栏的什么的,可以继续降低TOP值
|
|||
|
|
scalable: true,
|
|||
|
|
height: windowInfo.value.windowHeight - windowInfo.value.statusBarHeight //- 126
|
|||
|
|
})
|
|||
|
|
wv.addEventListener('loading', () => {
|
|||
|
|
plus.nativeUI.showWaiting("loading...",{
|
|||
|
|
width:'110px',
|
|||
|
|
padding:'10px'
|
|||
|
|
})
|
|||
|
|
}, false);
|
|||
|
|
//plus.nativeUI.showWaiting()
|
|||
|
|
wv.addEventListener('loaded', () => {
|
|||
|
|
plus.nativeUI.closeWaiting();
|
|||
|
|
}, false);
|
|||
|
|
|
|||
|
|
//wv.loadURL(url)
|
|||
|
|
let currentWebview = proxy.$scope.$getAppWebview();
|
|||
|
|
currentWebview = wv;
|
|||
|
|
// console.log(wv)
|
|||
|
|
// setTimeout(()=> {
|
|||
|
|
// console.log(wv.getStyle())
|
|||
|
|
// }, 1000);
|
|||
|
|
// #endif
|
|||
|
|
}
|
|||
|
|
</script>
|
|||
|
|
|
|||
|
|
<style scoped>
|
|||
|
|
|
|||
|
|
</style>
|