单页应用里整个页面只会在第一次彻底刷新,后面只会局部刷新(通常不包括head及里面的title),因此没法在服务器端控制title,只能在页面刷新的时候经过js修改title。常规作法以下,惋惜在iOS微信浏览器无效。javascript
问题缘由:css
由于微信浏览器首次加载页面初始化title后,就不再监听 document.title的change事件。java
解决方案:ios
修改title以后,给页面加上一个内容为空的iframe,随后当即删除这个iframe,这时候会刷新title。可是若是简单的这样设置,通常是会有闪动的,因此能够设置浏览器
方法一:服务器
完整代码:微信
方法二:微信开发
封装了一个只在IOS的状态下处理的方法:app
setDocumentTitle = function(title) { document.title = title; if (/ip(hone|od|ad)/i.test(navigator.userAgent)) { var i = document.createElement('iframe'); i.src = '/favicon.ico'; i.style.display = 'none'; i.onload = function() { setTimeout(function(){ i.remove(); }, 9) } document.body.appendChild(i); } }