解決微信內建瀏覽器無法動態更新title的問題
阿新 • • 發佈:2021-02-01
技術標籤:前端
1、問題描述
最近在做微信網頁開發遇到一個bug,在移動端動態改變title,但瀏覽器標題並未改變,開始以為是沒有設定成功當在控制到列印,window.title 輸出的結果是已經修改了
2、問題成因
在一番搜尋後找到了具體成因
以下引用原文內容
由於微信瀏覽器只在頁面首次載入時初始化了標題title,之後就沒有再監聽 window.title的change事件。所以這裡修改了title後,立即建立一個請求,載入一個空的iframe,由於載入後立即就移除,也不會對頁面造成影響,但這樣微信瀏覽器上的title便重新整理了。
3、上程式碼
原文用的是JQ,這邊根據我的需要改為原生程式碼
let iframe = document.createElement("iframe")
//設定標題
document.title = '這裡是要修改成的新標題';
//隨便載入點什麼
iframe.src="/favicon.ico"
document.body.appendChild(iframe)
//重新整理後移除iframe
setTimeout(function() {
document.body.removeChild(iframe)
}, 0);