improve browser title bar

This commit is contained in:
陆柯 2022-09-10 20:31:06 +08:00
parent 0dc6e13e67
commit d9f014201e

View File

@ -83,16 +83,26 @@ export default {
pageTitle ||
pageNow?.i18nText?.[mylang]?.tPageTitle || // 页面.vue 的 i18nText 对象
pageNow?.i18nPageTitle?.[mylang] || // 页面.vue 的 i18nPageTitle 变量
pagesJson?.pages?.find((page) => page.path === pageNow?.route)?.i18nPageTitle?.[mylang] // pages.json 的页面配置里
uni.setNavigationBarTitle({ title: navibarTitle })
pagesJson?.pages?.find((page) => page.path === pageNow?.route)?.i18nPageTitle?.[mylang] || // pages.json 的页面配置里
''
if (uni.getSystemInfoSync().model === 'PC') {
windowTitle =
windowTitle || wo?.envar?.callname?.[mylang] || pagesJson?.appInfo?.i18nText?.[mylang] || pagesJson?.globalStyle?.navigationBarTitleText || ''
uni.setNavigationBarTitle({ title: windowTitle + (navibarTitle ? ` - ${navibarTitle}` : '') })
} else {
uni.setNavigationBarTitle({ title: navibarTitle })
}
// #ifdef H5
// navibarTitle 也会被用于浏览器的标签标题,因此要用 document.title 去覆盖。
// 必须放在 setNavigationBarTitle 之后。
document.title = `${windowTitle ||
wo?.envar?.callname?.[mylang] ||
pagesJson?.appInfo?.i18nText?.[mylang] ||
pagesJson?.globalStyle?.navigationBarTitleText} - ${navibarTitle}`
// 必须放在 setNavigationBarTitle 之后。但这个方案,在电脑上,还是会显示 navibarTitle 在浏览器窗口顶栏,不知为何。
// document.title =
// windowTitle ||
// wo?.envar?.callname?.[mylang] ||
// pagesJson?.appInfo?.i18nText?.[mylang] ||
// pagesJson?.globalStyle?.navigationBarTitleText ||
// '' + (navibarTitle ? ` - ${navibarTitle}` : '')
// #endif
// 必须要在有 tab 的页面里 setTabBarItem 才有效果