小程序
小游戏
企业微信
微信支付
扫描小程序码分享
webview 的 navigationBarTitleText 是默认的必须为HTML的title标签的值吗?我尝试使用wx.setNavigationBarTitle修改无效?
3 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
web-view 的title直接由H5页面决定吧...
document.title =
'页面标题'
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
// 微信浏览器加载 H5,会抓取 document.title。如果有 url 更新,会再次抓取 document.title
// 微信小程序 page.json 里对每个页面都配置了 title,可以用 setNavigationBarTitle 设置。web-view 组件加载 H5,首先取 page.json 里配置的 title,然后页面加载后,抓取 document.title。有个 load 事件可以监听 url 更新,使用 setNavigationBarTitle 更新
// 但如果是 SPA 切换,例如 vueRouter 或者 back 回退,没有触发 url 更新,则不能触发 title 更新,需要 H5 里兼容:
// 现在小程序和H5,这方面比较混乱,两边都会去设置title,谁慢最后就是谁。
// 理论上应该用这样的解决方案:
// 小程序统一设置 title 为“加载中”
// H5 在路由切换的时候,设置 title
const setTitle = (title = 'T3出行') => {
document.title = title
// 兼容:加载一个 iframe 强行刷新
const iframe = document.createElement('iframe')
iframe.src =
'https://static.t3go.cn/t3-sub-common/favicon.png'
iframe.style.display = 'none'
iframe.onload = () => {
setTimeout(() => {
document.body.removeChild(iframe)
}, 0)
}
document.body.appendChild(iframe)
// 兼容APP:APP方法;可以加个 if 判断环境
// ...
怎么解决的呢?
确实改不了的~
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
web-view 的title直接由H5页面决定吧...
document.title =
'页面标题'
// 微信浏览器加载 H5,会抓取 document.title。如果有 url 更新,会再次抓取 document.title
// 微信小程序 page.json 里对每个页面都配置了 title,可以用 setNavigationBarTitle 设置。web-view 组件加载 H5,首先取 page.json 里配置的 title,然后页面加载后,抓取 document.title。有个 load 事件可以监听 url 更新,使用 setNavigationBarTitle 更新
// 但如果是 SPA 切换,例如 vueRouter 或者 back 回退,没有触发 url 更新,则不能触发 title 更新,需要 H5 里兼容:
// 现在小程序和H5,这方面比较混乱,两边都会去设置title,谁慢最后就是谁。
// 理论上应该用这样的解决方案:
// 小程序统一设置 title 为“加载中”
// H5 在路由切换的时候,设置 title
const setTitle = (title = 'T3出行') => {
document.title = title
// 兼容:加载一个 iframe 强行刷新
const iframe = document.createElement('iframe')
iframe.src =
'https://static.t3go.cn/t3-sub-common/favicon.png'
iframe.style.display = 'none'
iframe.onload = () => {
setTimeout(() => {
document.body.removeChild(iframe)
}, 0)
}
document.body.appendChild(iframe)
// 兼容APP:APP方法;可以加个 if 判断环境
// ...
}
怎么解决的呢?
确实改不了的~