IOS React等Title不显示问题解决办法
程序员文章站
2023-12-20 20:37:10
ios react等title不显示问题解决办法
单页应用里整个页面只会在第一次完全刷新,后面只会局部刷新(一般不包括head及里面的title),所以无法在服务器端控制...
ios react等title不显示问题解决办法
单页应用里整个页面只会在第一次完全刷新,后面只会局部刷新(一般不包括head及里面的title),所以无法在服务器端控制title,只能在页面刷新的时候通过js修改title。常规做法如下,可惜在ios微信浏览器无效。
问题原因:
因为微信浏览器首次加载页面初始化title后,就再也不监听 document.title的change事件。
解决方案:
修改title之后,给页面加上一个内容为空的iframe,随后立即删除这个iframe,这时候会刷新title。但是如果简单的这样设置,一般是会有闪动的,所以可以设置
iframe.style.csstext = 'display: none; width: 0; height: 0;';
完整的代码:
document.title = '设置标题http'; const iframe = document.createelement('iframe'); iframe.style.csstext = 'display: none; width: 0; height: 0;'; iframe.src = 'http://desk.fd.zol-img.com.cn/t_s960x600c5/g5/m00/05/0f/chmkj1ercriij_opaay8rswt72waauu6gmmhkwabjzf444.jpg'; //iframe.src = require('./img/text_delete.png'); const listener = () => { settimeout(() => { iframe.removeeventlistener('load', listener); settimeout(() => { document.body.removechild(iframe); }, 0); }, 0); }; iframe.addeventlistener('load', listener); document.body.appendchild(iframe);
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!