IOS微信无法更改标题解决方法
2017-08-14 16:01
393 查看
截止到ios10.3.3版本,微信单页应用仍有这个问题,项目中我将其封装成一个util工具模块,方便调用~
// 这个在我的博客中有写到过[如何判定浏览器环境](http://blog.csdn.net/sjn0503/article/details/74745608) import { isIOSWeChat } from 'utils' // 任意线上icon const faviconSrc = 'http://*****.ico' const doc = global.document /** * setPageTitle 方法 * 用于修改页面title, 由于ios微信通过document.title = 'xxx' 修改页面title不会生效 * 需要通过iframe这样的"黑魔法"来达到效果 [黑线] * * 这里有几个大坑: * 1. iframe的src不能是base64, 必须发出请求才能生效 * 原来请求的是png,小于8912字节的限制,被base64转化了,现在改成ico,直接与其他图片字体等资源区分开 * 2. 之前iframe都没有插入document.body,iframe是来打酱油的么? * 3. 微信开发者工具这个坑货, 这货首先不支持document.title赋值改标题, 二来连黑魔法都不管用(时好时坏),连微信都不如!!! * 4. 你妹的微信开发者工具,坑了我一晚上! */ function setIOSWechatPageTitle() { if (isIOSWeChat()) { let iframe = doc.createElement('iframe') iframe.src = faviconSrc iframe.onload = () => { setTimeout(() => { iframe.parentNode.removeChild(iframe) iframe = null }, 0) } doc.body.appendChild(iframe) } } /** * 设置页面标题 */ export { setIOSWechatPageTitle, }
相关文章推荐
- iOS之UIWebView无法获取web标题的解决方法
- ios及微信中,音视频无法自动播放的解决方法
- asp.net下无法循环绑定投票的标题和选项的解决方法
- ”双击文件夹无法在同一个窗口打开,更改文件夹选项也不行“的解决方法
- arm-linux-insight 启动后无法更改target设置解决方法
- “无法为更新定位行,一些值可能已在最后一次读取后已更改”问题的解决方法
- 文件夹被隐藏,属性无法更改的解决方法
- facebook ios sdk 无法登出bug的解决方法
- iOS ipad开发 UIModalPresentationFormSheet模式的VC 无法关闭键盘解决方法
- 解决联想笔记本电源使用方案灰色无法更改方法
- Windows 7本地网卡更改过出现本地连接2无法修改名称解决方法
- ios 解决第三方类库无法通过armv7s编译的方法
- 使用LdapContext的modifyAttributes方法无法更改用户密码的解决
- 更改计算机名后导致Oracle dbconsole无法启动问题解决方法
- Oracle 11g 更改主机明后重新无法打开EM的解决方法
- 无法更改文件夹的隐藏属性 解决方法!
- sql server 中对表更改时无法保存修改,提示”无法保存要求重新创建表的更改“的解决方法
- WordPress中文标题无法显示的解决方法
- FireFox 连接设置 无法更改的原因及解决方法
- CRM 无法创建新用户和更改用户状态的解决方法