diff --git a/src/platforms/app-plus/service/framework/plugins/lifecycle.js b/src/platforms/app-plus/service/framework/plugins/lifecycle.js index 511d0b450e4daf1234a9ced3e615656736fe902a..e74a1ec56d8d5be9822818b4e66eada261d70854 100644 --- a/src/platforms/app-plus/service/framework/plugins/lifecycle.js +++ b/src/platforms/app-plus/service/framework/plugins/lifecycle.js @@ -39,13 +39,15 @@ function parsePageCreateOptions (vm, route) { const onPageScroll = hasLifecycleHook(vm.$options, 'onPageScroll') ? 1 : 0 const onPageReachBottom = hasLifecycleHook(vm.$options, 'onReachBottom') ? 1 : 0 + const statusbarHeight = getStatusbarHeight() return { disableScroll, onPageScroll, onPageReachBottom, onReachBottomDistance, - windowTop: windowOptions.titleNView && windowOptions.titleNView.type === 'float' ? (getStatusbarHeight() + TITLEBAR_HEIGHT) : 0, + statusbarHeight, + windowTop: windowOptions.titleNView && windowOptions.titleNView.type === 'float' ? (statusbarHeight + TITLEBAR_HEIGHT) : 0, windowBottom: (tabBar.indexOf(route) >= 0 && tabBar.cover) ? tabBar.height : 0 } } diff --git a/src/platforms/app-plus/service/framework/webview/parser/sub-nvue-parser.js b/src/platforms/app-plus/service/framework/webview/parser/sub-nvue-parser.js index 57be5ff5ac7a5a1080d54e6f55de353c1e522db6..623f05e6decec562b2e39d79a4e0229cd096119b 100644 --- a/src/platforms/app-plus/service/framework/webview/parser/sub-nvue-parser.js +++ b/src/platforms/app-plus/service/framework/webview/parser/sub-nvue-parser.js @@ -10,6 +10,10 @@ import { isTabBarPage } from '../../../bridge' +import { + getStatusbarHeight +} from '../../../api/util' + import tabBar from '../../tab-bar' function initPopupSubNVue (subNVueWebview, style, maskWebview) { @@ -96,7 +100,7 @@ function initSubNVue (subNVue, routeOptions, webview) { style.dock = 'top' style.top = 0 style.width = '100%' - style.height = TITLEBAR_HEIGHT + plus.navigator.getStatusbarHeight() + style.height = TITLEBAR_HEIGHT + getStatusbarHeight() delete style.left delete style.right delete style.bottom diff --git a/src/platforms/app-plus/view/bridge/subscribe/index.js b/src/platforms/app-plus/view/bridge/subscribe/index.js index 9586b4c334ee837c1b31e89dd9c1483ab7b3b73a..c2e406c9f7e5f55e474401a83611bfe8fb413c74 100644 --- a/src/platforms/app-plus/view/bridge/subscribe/index.js +++ b/src/platforms/app-plus/view/bridge/subscribe/index.js @@ -20,6 +20,7 @@ const passiveOptions = supportsPassive ? { } : false function onCssVar ({ + statusbarHeight, windowTop, windowBottom }) { @@ -29,8 +30,9 @@ function onCssVar ({ const style = document.documentElement.style style.setProperty('--window-top', windowTop + 'px') style.setProperty('--window-bottom', windowBottom + 'px') - style.setProperty('--status-bar-height', plus.navigator.getStatusbarHeight() + 'px') + style.setProperty('--status-bar-height', statusbarHeight + 'px') if (process.env.NODE_ENV !== 'production') { + console.log(`--status-bar-height=${statusbarHeight}`) console.log(`--window-top=${windowTop}`) console.log(`--window-bottom=${windowBottom}`) } @@ -38,6 +40,7 @@ function onCssVar ({ } function onPageCreate ({ + statusbarHeight, windowTop, windowBottom, disableScroll, @@ -46,6 +49,7 @@ function onPageCreate ({ onReachBottomDistance }, pageId) { onCssVar({ + statusbarHeight, windowTop, windowBottom }) @@ -70,4 +74,4 @@ function onWebviewReady () { // service 主动发起检测 export default function initSubscribe (subscribe) { subscribe(WEBVIEW_READY, onWebviewReady) subscribe(ON_PAGE_CREATE, onPageCreate) -} +}