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 相关文章推荐
基于JavaScript实现继承机制之构造函数方法对象冒充的使用详解
May 07 Javascript
Javascript中判断变量是数组还是对象(array还是object)
Aug 14 Javascript
13个PHP函数超实用
Oct 21 Javascript
Bootstrap每天必学之模态框(Modal)插件
Apr 26 Javascript
Javascript实现图片不间断滚动的代码
Jun 22 Javascript
js删除Array数组中指定元素的两种方法
Aug 03 Javascript
HTML Table 空白单元格补全的简单实现
Oct 13 Javascript
浅谈vue中.vue文件解析流程
Apr 24 Javascript
关于微信小程序登录的那些事
Jan 08 Javascript
用npm-run实现自动化任务的方法示例
Jan 14 Javascript
浅谈Vue 函数式组件的使用技巧
Jun 16 Javascript
在Vue中使用Echarts实例图的方法实例
Oct 10 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
详解WordPress中用于合成数组的wp_parse_args()函数
2015/12/18 PHP
thinkphp5.1 框架钩子和行为用法实例分析
2020/05/25 PHP
JavaScript中的对象化编程
2008/01/16 Javascript
在IE下获取object(ActiveX)的Param的代码
2009/09/15 Javascript
extjs实现选择多表自定义查询功能 前台部分(ext源码)
2011/12/20 Javascript
javascript里模拟sleep(两种实现方式)
2013/01/25 Javascript
js或jquery实现页面打印可局部打印
2014/03/27 Javascript
关于JS数组追加数组采用push.apply的问题
2014/06/09 Javascript
Js 正则表达式知识汇总
2014/12/02 Javascript
在 Express 中使用模板引擎
2015/12/10 Javascript
jQuery自定义图片缩放拖拽插件imageQ实现方法(附demo源码下载)
2016/05/27 Javascript
Three.js学习之Lamber材质和Phong材质
2016/08/04 Javascript
微信小程序开发之录音机 音频播放 动画实例 (真机可用)
2016/12/08 Javascript
[原创]js实现保存文本框内容为本地文件兼容IE,chrome,火狐浏览器
2018/02/14 Javascript
通过js实现压缩图片上传功能
2020/02/25 Javascript
vue 实现超长文本截取,悬浮框提示
2020/07/29 Javascript
[36:19]2018DOTA2亚洲邀请赛 小组赛 A组加赛 Newbee vs LGD
2018/04/03 DOTA
python通过ftplib登录到ftp服务器的方法
2015/05/08 Python
Python制作Windows系统服务
2017/03/25 Python
浅谈python 线程池threadpool之实现
2017/11/17 Python
PyTorch读取Cifar数据集并显示图片的实例讲解
2018/07/27 Python
pygame游戏之旅 添加碰撞效果的方法
2018/11/20 Python
python调用虹软2.0第三版的具体使用
2019/02/22 Python
基于TensorBoard中graph模块图结构分析
2020/02/15 Python
python读写文件write和flush的实现方式
2020/02/21 Python
使用python检查yaml配置文件是否符合要求
2020/04/09 Python
Python Selenium实现无可视化界面过程解析
2020/08/25 Python
阿迪达斯印尼官方网站:adidas印尼
2020/02/10 全球购物
医学生实习自荐信
2013/10/01 职场文书
公务员职务工作的自我评价
2013/11/01 职场文书
传播学专业毕业生自荐书
2014/07/01 职场文书
2014乡镇干部纪律作风整顿思想汇报
2014/09/13 职场文书
法人单位适用的授权委托书
2014/09/19 职场文书
整改报告怎么写
2014/11/06 职场文书
部门经理助理岗位职责
2015/04/13 职场文书
休学证明范本
2015/06/19 职场文书