微信H5开发问题总结
最近一段时间都在做基于微信的一些推广、宣传的H5页面的开发,所以开个帖来总结一下遇到的一些问题。 一、微信H5在IOS中出现滚动不流畅的问题
-webkit-overflow-scrolling : touch;
二、css隐藏滚动条
::-webkit-scrollbar{
display:none;
// 大部分机型上生效,ios上无效
width:0 !important;
// chrome 和 safari
}
-ms-overflow-style:none;
//IE10+
overflow:-moz-scrollerbars-none;
// firefox
备注:这种做法在ios上无效。
三、锁屏或者后台运行微信时,背景音乐仍在播放 visibilitychange 事件。visibilitychange事件在锁屏或者切换后台运行微信时都会触发。
document.hidden 属性。document.hidden属性记录当前文档是否隐藏。
document.addEventListener("visibilitychange",()=>{
if(document.hidden){// 如果锁屏或者后台运行,暂停背景音乐
bg.stop()
}else{
this.fallBackPlay();
// 如果不是,回弹之前的状态。
}
});
四、使用vue-router时,用push()进行路由导航,ios手机底部出现地址导航栏 目前没有找到更好的解决方法。
如果需要使用vue-router进行路由管理,可以使用replace()方法代替。
replace()不记录地址历史,所以微信不会出现地址历史导航记录。
五、标签在flex布局中不能自适应
在标签外包一个div,div的flex设为1,的width设为100%。
六、轨迹运动 元素沿轨迹运动可以通过
offset-path
和offset-distance
实现。七、点击input元素聚焦,元素没有出现在可视区域
//微信内置浏览器浏览H5页面弹出的键盘遮盖文本框的解决办法
window.addEventListener("resize", function() {
if(document.activeElement.tagName == "INPUT" || document.activeElement.tagName == "TEXTAREA") {
window.setTimeout(function() {
document.activeElement.scrollIntoViewIfNeeded();
}, 0);
}
})
【微信H5开发问题总结】使用scrollIntoViewIfNeeded 和 scrollIntoView 方法。
推荐阅读
- parallels|parallels desktop 解决网络初始化失败问题
- 深入理解Go之generate
- jhipster|jhipster 升级无效问题
- 基于微信小程序带后端ssm接口小区物业管理平台设计
- “精神病患者”的角度问题
- 标签、语法规范、内联框架、超链接、CSS的编写位置、CSS语法、开发工具、块和内联、常用选择器、后代元素选择器、伪类、伪元素。
- 解决SpringBoot引用别的模块无法注入的问题
- 员工的微信朋友圈是公司的宣传阵地吗()
- Hive常见问题汇总
- 姚老师互动问答会|姚老师互动问答会 # 问题001(如何更有智慧的和身边人分享金刚智慧())