加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 业界 > 正文

移动端H5页面开发坑点指南

发布时间:2019-10-24 08:31:04 所属栏目:业界 来源:_Dreamslv
导读:前言 在平时的H5移动端开发时,我们难免会遇到各种各样的坑点,这篇文章就带着大家来看看怎么解决,文章较长,建议收藏方便以后查阅! 前方高能! canvas在retina屏模糊 只需要将画笔根据像素比缩放即可 run(canvasEl){ constcanvas=canvasEl; constctx=canv

iOS浏览器横屏时会重置字体大小,设置text-size-adjust为none可以解决iOS上的问题,但桌面版Safari的字体缩放功能会失效,因此最佳方案是将text-size-adjust为100%

  1. -webkit-text-size-adjust: 100%; 
  2. -ms-text-size-adjust: 100%; 
  3. text-size-adjust: 100%; 

某些情况下非可点击元素如(label,span)监听click事件,ios下不会触发

针对此种情况只需对不触发click事件的元素添加一行css代码即可

  1. cursor: pointer; 

ios对时间date()的支持不一样

  1. var date =new Date("2019/10/21");  

调试发现2019/10/21等同2019-10-21 00:00:00,也就是说ios默认就是从0开始计算的,我们不需要设置后面的时分秒为00:00:00

iOS(safari)标签绑定点击事件无效

iOS(safari)有时候某个标签绑定点击事件无效,加上空的onclick=""就好了,如:

ios中location.href跳转页面空白

在location.href外套一层setTimeout就解决了!

  1. setTimeout(() => { 
  2.        window.location.href = 'www.juejin.im' 
  3. }, 0); 

键盘弹起下落时的bug解决方法

在App.vue的created钩子里统一处理即可

  1. created() { 
  2.     this.handleFocusOut(); 
  3.     this.handleResize(); 
  4. }, 
  5. methods:{ 
  6.     handleFocusOut() { 
  7.       // input 焦点失焦后,ios 键盘收起,但没有触发 window resize,导致实际页面dom仍然被键盘顶上去--错位 
  8.       document.addEventListener('focusout', () => { 
  9.         document.body.scrollTop = 0; 
  10.       }); 
  11.     }, 
  12.     // 监听resize事件(键盘弹起触发),然后将 input textarea 元素滑动到可视区域,并将特定元素隐藏 
  13.     handleResize() { 
  14.       const clientHeight = document.documentElement.clientHeight; 
  15.       window.addEventListener('resize', () => { 
  16.         // 判断当前 active 的元素是否为 input 或 textarea 
  17.         if ( 
  18.           document.activeElement.tagName === 'INPUT' || 
  19.           document.activeElement.tagName === 'TEXTAREA' 
  20.         ) { 
  21.           setTimeout(() => { 
  22.             // 原生方法,滚动至需要显示的位置 
  23.             document.activeElement.scrollIntoView(); 
  24.           }, 0); 
  25.         } 
  26.  
  27.         // 解决键盘弹起后 fixed 定位元素被顶起问题 
  28.         const bodyHeight = document.documentElement.clientHeight; 
  29.         const ele = document.getElementById('fixed-bottom'); 
  30.         if (ele) { 
  31.           if (clientHeight > bodyHeight) { 
  32.             ele.style.display = 'none'; 
  33.           } else { 
  34.             ele.style.display = 'block'; 
  35.           } 
  36.         } 
  37.       }); 
  38.     } 

总结

路漫漫其修远兮,在兼容的道路上渐行渐远

(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读