修改webview
This commit is contained in:
@@ -1,39 +1,50 @@
|
|||||||
<template>
|
<template>
|
||||||
<view id="test">
|
<view id="test">
|
||||||
<!-- #ifdef h5 -->
|
<!-- #ifdef H5 -->
|
||||||
<web-view :src="url"></web-view>
|
<web-view :src="url"></web-view>
|
||||||
<!-- #endif -->
|
<!-- #endif -->
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
import { ref,onMounted,getCurrentInstance } from 'vue';
|
import { ref,getCurrentInstance } from 'vue';
|
||||||
import { onLoad,onReady,onBackPress } from '@dcloudio/uni-app';
|
import { onLoad,onBackPress } from '@dcloudio/uni-app';
|
||||||
const { proxy } = getCurrentInstance();
|
|
||||||
|
|
||||||
let windowInfo = ref(null);
|
|
||||||
let url = ref('');
|
let url = ref('');
|
||||||
let title = ref('');
|
let title = ref('');
|
||||||
onLoad(async(opt) => {
|
onLoad(async(opt) => {
|
||||||
console.log(opt)
|
// console.log(opt)
|
||||||
url.value = opt.url ;
|
url.value = opt.url ;
|
||||||
title.value = opt.title;
|
title.value = opt.title;
|
||||||
// #ifdef APP-PLUS
|
// #ifdef APP-PLUS
|
||||||
titleNViewWebview(url.value,title.value);
|
titleNViewWebview(url.value,title.value);
|
||||||
// #endif
|
// #endif
|
||||||
// uni.getSystemInfo({
|
|
||||||
// success: (res)=> {
|
|
||||||
// windowInfo.value = res;
|
|
||||||
// createWvAndLoadUrl(url.value,title.value);
|
|
||||||
// }
|
|
||||||
// });
|
|
||||||
})
|
})
|
||||||
|
|
||||||
|
onBackPress((e)=> {//响应返回事件
|
||||||
|
console.log("onBackPress=>",e)
|
||||||
|
if (e.from === 'navigateBack') { //这个地方必须要有的,否则会死循环
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
console.log('点击返回....');
|
||||||
|
let pages = getCurrentPages()
|
||||||
|
let page = pages[pages.length - 1];
|
||||||
|
let currentPages = page.$getAppWebview()
|
||||||
|
currentPages.close()
|
||||||
|
uni.navigateBack({delta:2})
|
||||||
|
return true;
|
||||||
|
})
|
||||||
|
|
||||||
// 带标题栏控件的Webview窗口
|
// 带标题栏控件的Webview窗口
|
||||||
let webview = null;
|
let webview = null;
|
||||||
function titleNViewWebview(url,title) {
|
function titleNViewWebview(url,title) {
|
||||||
|
console.log("titleNViewWebview=>",url,title)
|
||||||
|
|
||||||
|
let nwating = plus.nativeUI.showWaiting("loading...",{
|
||||||
|
width:'110px',
|
||||||
|
padding:'10px'
|
||||||
|
})
|
||||||
|
|
||||||
webview = plus.webview.create(url, 'test', {
|
webview = plus.webview.create(url, 'test', {
|
||||||
titleNView: {
|
titleNView: {
|
||||||
backgroundColor: '#307AF5',
|
backgroundColor: '#307AF5',
|
||||||
@@ -41,32 +52,21 @@ function titleNViewWebview(url,title) {
|
|||||||
titleColor: '#ffffff',
|
titleColor: '#ffffff',
|
||||||
autoBackButton: true,
|
autoBackButton: true,
|
||||||
backgroundImage:'./../../static/images/bg-Blue-header.png',
|
backgroundImage:'./../../static/images/bg-Blue-header.png',
|
||||||
buttons:[{onclick:clickButton}]
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
webview.addEventListener('close', function(){
|
|
||||||
webview=null;
|
webview.addEventListener('loaded', function() {
|
||||||
});
|
nwating.close();
|
||||||
webview.addEventListener('titleUpdate', function(){
|
|
||||||
webview.show();
|
webview.show();
|
||||||
|
}, false);
|
||||||
|
|
||||||
|
webview.addEventListener('close', function(){
|
||||||
|
console.log("close=>")
|
||||||
|
webview=null;
|
||||||
|
uni.navigateBack();
|
||||||
});
|
});
|
||||||
webview.addEventListener('loading', () => {
|
|
||||||
plus.nativeUI.showWaiting("loading...",{
|
|
||||||
width:'110px',
|
|
||||||
padding:'10px'
|
|
||||||
})
|
|
||||||
}, false);
|
|
||||||
//plus.nativeUI.showWaiting()
|
|
||||||
webview.addEventListener('loaded', () => {
|
|
||||||
plus.nativeUI.closeWaiting();
|
|
||||||
}, false);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// 左侧按钮返回
|
|
||||||
function clickButton(){
|
|
||||||
// plus.nativeUI.alert('clicked!');
|
|
||||||
webview=null;
|
|
||||||
}
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped>
|
<style scoped>
|
||||||
|
|||||||
Reference in New Issue
Block a user