提交 9693a903 编写于 作者: fxy060608's avatar fxy060608

refactor(v3): webview event

上级 177f182f
...@@ -6641,8 +6641,7 @@ var serviceContext = (function () { ...@@ -6641,8 +6641,7 @@ var serviceContext = (function () {
} }
function onWebviewClose (webview) { function onWebviewClose (webview) {
webview.addEventListener('close', () => { webview.popupSubNVueWebviews && webview.addEventListener('close', () => {
if (webview.popupSubNVueWebviews) { // 移除所有 popupSubNVueWebview
Object.keys(webview.popupSubNVueWebviews).forEach(id => { Object.keys(webview.popupSubNVueWebviews).forEach(id => {
if (process.env.NODE_ENV !== 'production') { if (process.env.NODE_ENV !== 'production') {
console.log( console.log(
...@@ -6651,7 +6650,6 @@ var serviceContext = (function () { ...@@ -6651,7 +6650,6 @@ var serviceContext = (function () {
} }
webview.popupSubNVueWebviews[id].close('none'); webview.popupSubNVueWebviews[id].close('none');
}); });
}
}); });
} }
...@@ -6782,28 +6780,6 @@ var serviceContext = (function () { ...@@ -6782,28 +6780,6 @@ var serviceContext = (function () {
initSubNVues(routeOptions, webview); initSubNVues(routeOptions, webview);
// TODO 优化相关依赖性
// webview.addEventListener('popGesture', e => {
// if (e.type === 'start') {
// // 开始拖拽,还原状态栏前景色
// this.restoreStatusBarStyle()
// } else if (e.type === 'end' && !e.result) {
// // 拖拽未完成,设置为当前状态栏前景色
// this.setStatusBarStyle()
// } else if (e.type === 'end' && e.result) {
// removeWebview(this.id)
// const lastWebview = getLastWebview()
// if (lastWebview) {
// publish('onAppRoute', {
// path: lastWebview.page.replace('.html', ''),
// query: {},
// openType: 'navigateBack',
// webviewId: lastWebview.id
// })
// }
// }
// })
Object.keys(WEBVIEW_LISTENERS).forEach(name => { Object.keys(WEBVIEW_LISTENERS).forEach(name => {
webview.addEventListener(name, (e) => { webview.addEventListener(name, (e) => {
emit(WEBVIEW_LISTENERS[name], e, parseInt(webview.id)); emit(WEBVIEW_LISTENERS[name], e, parseInt(webview.id));
...@@ -6813,8 +6789,8 @@ var serviceContext = (function () { ...@@ -6813,8 +6789,8 @@ var serviceContext = (function () {
onWebviewClose(webview); onWebviewClose(webview);
onWebviewResize(webview); onWebviewResize(webview);
if (plus.os.name === 'iOS' && webview.nvue) { if (plus.os.name === 'iOS') {
onWebviewRecovery(webview, routeOptions); !webview.nvue && onWebviewRecovery(webview, routeOptions);
} }
on(webview.id + '.startPullDownRefresh', () => { on(webview.id + '.startPullDownRefresh', () => {
......
...@@ -22,6 +22,10 @@ import { ...@@ -22,6 +22,10 @@ import {
onWebviewRecovery onWebviewRecovery
} from './on-webview-recovery' } from './on-webview-recovery'
import {
onWebviewPopGesture
} from './on-webview-pop-gesture'
export let preloadWebview export let preloadWebview
let id = 2 let id = 2
...@@ -81,28 +85,6 @@ export function initWebview (webview, routeOptions) { ...@@ -81,28 +85,6 @@ export function initWebview (webview, routeOptions) {
initSubNVues(routeOptions, webview) initSubNVues(routeOptions, webview)
// TODO 优化相关依赖性
// webview.addEventListener('popGesture', e => {
// if (e.type === 'start') {
// // 开始拖拽,还原状态栏前景色
// this.restoreStatusBarStyle()
// } else if (e.type === 'end' && !e.result) {
// // 拖拽未完成,设置为当前状态栏前景色
// this.setStatusBarStyle()
// } else if (e.type === 'end' && e.result) {
// removeWebview(this.id)
// const lastWebview = getLastWebview()
// if (lastWebview) {
// publish('onAppRoute', {
// path: lastWebview.page.replace('.html', ''),
// query: {},
// openType: 'navigateBack',
// webviewId: lastWebview.id
// })
// }
// }
// })
Object.keys(WEBVIEW_LISTENERS).forEach(name => { Object.keys(WEBVIEW_LISTENERS).forEach(name => {
webview.addEventListener(name, (e) => { webview.addEventListener(name, (e) => {
emit(WEBVIEW_LISTENERS[name], e, parseInt(webview.id)) emit(WEBVIEW_LISTENERS[name], e, parseInt(webview.id))
...@@ -112,8 +94,9 @@ export function initWebview (webview, routeOptions) { ...@@ -112,8 +94,9 @@ export function initWebview (webview, routeOptions) {
onWebviewClose(webview) onWebviewClose(webview)
onWebviewResize(webview) onWebviewResize(webview)
if (plus.os.name === 'iOS' && webview.nvue) { if (plus.os.name === 'iOS') {
onWebviewRecovery(webview, routeOptions) !webview.nvue && onWebviewRecovery(webview, routeOptions)
onWebviewPopGesture(webview)
} }
on(webview.id + '.startPullDownRefresh', () => { on(webview.id + '.startPullDownRefresh', () => {
......
export function onWebviewClose (webview) { export function onWebviewClose (webview) {
webview.addEventListener('close', () => { webview.popupSubNVueWebviews && webview.addEventListener('close', () => {
if (webview.popupSubNVueWebviews) { // 移除所有 popupSubNVueWebview
Object.keys(webview.popupSubNVueWebviews).forEach(id => { Object.keys(webview.popupSubNVueWebviews).forEach(id => {
if (process.env.NODE_ENV !== 'production') { if (process.env.NODE_ENV !== 'production') {
console.log( console.log(
...@@ -9,6 +8,5 @@ export function onWebviewClose (webview) { ...@@ -9,6 +8,5 @@ export function onWebviewClose (webview) {
} }
webview.popupSubNVueWebviews[id].close('none') webview.popupSubNVueWebviews[id].close('none')
}) })
}
}) })
} }
export function onWebviewPopGesture (webview) {
// TODO 优化相关依赖性
// webview.addEventListener('popGesture', e => {
// if (e.type === 'start') {
// // 开始拖拽,还原状态栏前景色
// this.restoreStatusBarStyle()
// } else if (e.type === 'end' && !e.result) {
// // 拖拽未完成,设置为当前状态栏前景色
// this.setStatusBarStyle()
// } else if (e.type === 'end' && e.result) {
// removeWebview(this.id)
// const lastWebview = getLastWebview()
// if (lastWebview) {
// publish('onAppRoute', {
// path: lastWebview.page.replace('.html', ''),
// query: {},
// openType: 'navigateBack',
// webviewId: lastWebview.id
// })
// }
// }
// })
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册