iOS微信浏览器修改document.title不起作用问题

楼主在开发过程中发现了在IOS微信里修改document.title不起作用,需要刷新才能起作用。

查了一下,微信浏览器的title在页面加载完成后就确定了也就是微信浏览器首次加载页面初始化title后,就再也不监听 document.title的change事件,因此只使用document.title来修改,不会有效果。

解决办法:修改了title后,立即创建一个请求,加载一个空的iframe,由于加载后立即就移除,也不会对页面造成影响,但这样微信浏览器上的title便刷新了。

var $body = $('body');
  document.title = 'the title you want to set';
  var $iframe = $("<iframe style='display:none;' src='/favicon.ico'></iframe>");
  $iframe.on('load',function() {
    setTimeout(function() {
      $iframe.off('load').remove();
    }, 0);
  }).appendTo($body);

display:none这个设置使iframe脱离文本流,那么加载和删除这个iframe都不会改变文本流,也不会触发页面渲染,性能会好一些。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 以下是常用的代码收集,学习用。转自豪情博客园 1. PC - js 返回指定范围的随机数(m-n之间)的公式 re...
    自由加咖啡阅读 4,615评论 0 1
  • 五十三:请解释 JavaScript 中 this 是如何工作的。1.方法调用模式当一个函数被保存为一个对象的属性...
    Arno_z阅读 3,715评论 0 2
  • 看夕阳西下 鸟雀双归 人儿影单薄 冬来还寒 叹 红颜易老 花开堪折直须折 莫待无花空折枝
    小草_d5ad阅读 3,882评论 15 27
  • 作者:mjn 10月《Concrete Revolutio超人幻想》已经开播了,这部发布时就获得了很多的瞩目,一方...
    AnimeTamashii阅读 2,972评论 0 2
  • 一、目标:2017年轻松赚到20万,同时拍摄完3部电影作品 动机和愿景: 愿我现在及过去所有种下的有关财富的种子早...
    易江南从心出发阅读 1,677评论 0 0