微信公众号页面开发遇坑指南

框架选择:习惯用VUE的话就选择VUX吧,集成度高,文档详细等等,都是优点。
首先,既然是移动端页面,第一个逃不过的坑就是页面适配问题了。
1、大家可能第一想到的是rem单位,貌似很多人认为这个单位是解决该问题万能的,其实不是,这个方式并不是最好的方式。

html{
    font-size:625%
}

2、还有一种就是利用js动态给html和body加font-size,大家一定想到的是lib-flexible这个库了(不清楚的自己百度)。这是个不错的解决方案(配合第一种方式),之前淘宝也在用,不过现在基本可以放弃了。
3、最后一种,也是我现在用的,可参考这篇文章,说的已经非常详细了。

说完适配这个坑,接着说说一些神奇的坑。
1、微信在进入后台的时候,当你的页面还打开着,并且你的某些ajax请求是在这之后发起的,你可能要问什么样的请求会在这个时候发起呢,举个例子:

document.addEventListener('visibilitychange',async ()=>{
    if (document.visibilityState === 'hidden') {    //改为visible
        this.$get('/api/...').then(res=>{ })
    }
});

当有些操作是在你判断页面可见性的时候请求的,这时候ajax请求是不会成功的,用Pormise的时候回直接被catch到,解决方法就是把请求放在document.visibilityStatevisible的时候,或者尽量避开这样的设计。
2、关于页面后退不刷新问题。
当你在页面执行history.back()方法的时候,页面是不会刷新的,如果想要刷新解决方式有很多,比如location.replace(document.referrer),方式百度一下就有很多,可选择你想要的一个就行。
3、微信页面存在独有的浏览器api
第一次做微信公众号页面的时候还不知道有这个东西,直到产品经理说希望能实现点击底部的返回按钮(ios)的时候,能关闭页面回到聊天界面。查了查资料发现,微信浏览器环境下有很多独有的api。具体有哪些可以参考这个网址,当然有些可以通过jssdk实现。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML标准。 注意:讲述HT...
    kismetajun阅读 28,403评论 1 45
  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 14,696评论 1 92
  • 上两个星期做了一个公司用于推广的小活动,选择了Vue的单页面应用。【Vue单页面应用+微信网页开发】套餐赠送了超值...
    大瑜_HiJack阅读 12,693评论 5 33
  • vue去哪网跟学笔记 记录学习点滴 1. 初始化项目 1.1 手机显示配适 minimum-scale=1.0,m...
    noobakong阅读 6,861评论 0 16
  • 葛林戴華德喜歡研究黑魔法,倒不是說他非要拿來做點什麼壞事,就像有些巫師癡迷研發新藥水,任何一種力量都能在適當時候派...
    十字路口霉少年阅读 2,463评论 1 0

友情链接更多精彩内容