美文网首页前端交流圈Web前端之路让前端飞
iOS微信浏览器修改document.title不起作用问题

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

作者: lulu_c | 来源:发表于2017-01-12 10:56 被阅读142次

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

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

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

    <code> 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);</code>
    display:none这个设置使iframe脱离文本流,那么加载和删除这个iframe都不会改变文本流,也不会触发页面渲染,性能会好一些。

    相关文章

      网友评论

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

        本文链接:https://www.haomeiwen.com/subject/jyedbttx.html