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.on('load',function() {
    setTimeout(function() {
      $iframe.off('load').remove();
    }, 0);
  }).appendTo($body);

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

你可能感兴趣的:(iOS微信浏览器修改document.title不起作用问题)