当前位置 : 主页 > 手机开发 > ios >

IOS React等Title不显示问题解决办法

来源:互联网 收集:自由互联 发布时间:2021-05-10
IOS React等Title不显示问题解决办法 单页应用里整个页面只会在第一次完全刷新,后面只会局部刷新(一般不包括head及里面的title),所以无法在服务器端控制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://img.558idc.com/uploadfile/allimg/ios/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); 

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

网友评论