Ios微信浏览器动态修改title
title标签动态修改
网页中的title标签需要js动态修改时,使用以下代码:
document.title=新标题
这样在安卓的微信浏览器是正常运行,在跳转网页的时候也会在微信中看到题目动态的被修改。
但是,在iOS的微信浏览器中确不会动态修改title。理由是:微信浏览器的title在页面加载完成后就确定了,因此如果光使用document.title来修改,不会有效果。所以这里使用了黑科技。
在微信浏览器中使用如下js代码来动态修改浏览器上的title标题:
var body = document.body;
document.title = title;
var iframe = document.createElement("iframe");
iframe.setAttribute("style","display:none;width:0px;height:0px");
iframe.setAttribute("src",'/logo.ico');
body.appendChild(iframe);
iframe.addEventListener('load',function() {
setTimeout(function() {
iframe.removeEventListener('load',function(){});
body.removeChild(iframe);
}, 0);
});
由于微信浏览器只在页面首次加载时初始化了标题title,之后就没有再监听 window.title的change事件。所以这里修改了title后,立即创建一个请求,加载一个空的iframe,由于加载后立即就移除,也不会对页面造成影响,但这样微信浏览器上的title便刷新了。