JS如何设置iOS中微信浏览器的title


Posted in Javascript onNovember 22, 2016

说到web前端,浏览器差异是不可回避的问题,这次在项目就遇到下面的问题:

微信导航栏的内容是直接拿的项目中title来设置的。但是现在做的项目是一个单页应用,整个页面只会在第一次完全刷新,后面只会局部刷新,所以只能在页面刷新的时候通过js动态修改title。开始我们使用的做法如下:

document.title = "微信导航栏想要显示的内容";
$("title").text("微信导航栏想要显示的内容");
document.getElementsByTagName("title")[0].innerText = "微信导航栏想要显示的内容"

上面的的方法简单方便,可惜上面的方法在安卓上面设置没有问题,但是iOS微信浏览器是无效。

解决方法:

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);

原理比较简单,之前是因为微信浏览器首次加载页面初始化title后,就再也不监听 document.title的change事件。而这里修改title之后,给页面加上一个内容为空的iframe,随后立即删除这个iframe,这时候会刷新title。但是,在iframe加载和删除的时候,iOS页面会有几毫秒的闪动(有灰色的框),Android直接有灰色的框出现在页面不消失,所以,一开始加载iframe的时候,就将该iframe的样式设置为:display: none;这样就解决了这个问题,同时因为display:none这个设置,iframe是脱离文本流的,那么加载和删除这个iframe都不会改变文本流,也不会触发页面渲染。

以上所述是小编给大家介绍的JS如何设置iOS中微信浏览器的title,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
获取客户端网卡MAC地址和IP地址实现JS代码
Mar 17 Javascript
仿当当网淘宝网等主流电子商务网站商品分类导航菜单
Sep 25 Javascript
JS获取农历日期具体实例
Nov 14 Javascript
jQuery中Ajax的get、post等方法详解
Jan 20 Javascript
简介JavaScript中用于处理正切的Math.tan()方法
Jun 15 Javascript
jquery带有索引按钮且自动轮播切换特效代码分享
Sep 15 Javascript
jQuery Validate插件实现表单验证
Aug 19 Javascript
Jquery Easyui对话框组件Dialog使用详解(14)
Dec 19 Javascript
js addDqmForPP给标签内属性值加上双引号的函数
Dec 24 Javascript
javascript基础知识之html5轮播图实例讲解(44)
Feb 17 Javascript
Postman的下载及安装教程详解
Oct 16 Javascript
Vue scoped及deep使用方法解析
Aug 01 Javascript
原生JS查找元素的方法(推荐)
Nov 22 #Javascript
自己封装的一个原生JS拖动方法(推荐)
Nov 22 #Javascript
SelecT下拉框选中和取值的解决方法
Nov 22 #Javascript
javascript入门之window对象【新手必看】
Nov 22 #Javascript
AngularJS实现DOM元素的显示与隐藏功能
Nov 22 #Javascript
JavaScript ES6中CLASS的使用详解
Nov 22 #Javascript
AngularJS实现ajax请求的方法
Nov 22 #Javascript
You might like
php使用memcoder将视频转成mp4格式的方法
2015/03/12 PHP
php使用CURL不依赖COOKIEJAR获取COOKIE的方法
2015/06/17 PHP
PHP 生成微信红包代码简单
2016/03/25 PHP
php登录超时检测功能实例详解
2017/03/21 PHP
PHP登录验证功能示例【用户名、密码、验证码、数据库、已登陆验证、自动登录和注销登录等】
2019/02/25 PHP
完美解决JS中汉字显示乱码问题(已解决)
2006/12/27 Javascript
Javascript typeof 用法
2008/12/28 Javascript
JavaScript函数学习总结以及相关的编程习惯指南
2015/11/16 Javascript
vue 如何添加全局函数或全局变量以及单页面的title设置总结
2017/06/01 Javascript
详解如何使用Node.js编写命令工具——以vue-cli为例
2017/06/29 Javascript
利用JS hash制作单页Web应用的方法详解
2017/10/10 Javascript
Vue 页面切换效果之 BubbleTransition(推荐)
2018/04/08 Javascript
还不懂递归?读完这篇文章保证你会懂
2018/07/29 Javascript
NodeJs实现简易WEB上传下载服务器
2019/08/10 NodeJs
vue实现列表滚动的过渡动画
2020/06/29 Javascript
jquery实现有过渡效果的tab切换
2020/07/17 jQuery
解决vant中 tab栏遇到的坑 van-tabs
2020/11/04 Javascript
[01:07:19]2018DOTA2亚洲邀请赛 4.5 淘汰赛 Mineski vs VG 第一场
2018/04/06 DOTA
[50:27]Secret vs VG 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/20 DOTA
python开发之IDEL(Python GUI)的使用方法图文详解
2015/11/12 Python
TensorFlow深度学习之卷积神经网络CNN
2018/03/09 Python
pandas 两列时间相减换算为秒的方法
2018/04/20 Python
python ---lambda匿名函数介绍
2019/03/13 Python
python中property属性的介绍及其应用详解
2019/08/29 Python
pygame实现俄罗斯方块游戏(基础篇1)
2019/10/29 Python
Python如何向SQLServer存储二进制图片
2020/06/08 Python
Pandas直接读取sql脚本的方法
2021/01/21 Python
AmazeUI 面板的实现示例
2020/08/17 HTML / CSS
德国亚马逊官方网站:Amazon.de
2020/11/15 全球购物
关于VPN
2012/06/10 面试题
经理秘书岗位职责
2013/11/14 职场文书
化验室技术员岗位职责
2013/12/24 职场文书
学生实习介绍信
2014/01/15 职场文书
物理研修随笔感言
2014/02/14 职场文书
材料工程专业毕业生求职信
2014/03/04 职场文书
微软团队与 NASA 科学家和惠普企业(HPE)的工程师合作
2022/04/21 数码科技