收藏
评论

小程序踩坑记录,兼容,bug等

表示小程序的第一个项目就踩坑这么多,难受………… 这是我个人的项目,最下面是我自己的博客地址。感觉作为程序员不分享不行,不然我这么多问题都怎么解决的。还不都是百度。谢谢大家批评


一、小程序navigateTo网络延迟产生连续跳转问题,采用节流函数


//调用封装的节流函数方式防止bug,一秒内只能跳转一次

that.binging();

//采用节流函数方式,解决微信延迟多次跳转bug

,binging:util.throttle(function () {

    wx.navigateTo({

        url:'/pages/index/binding/binding'

    });

}, 500)

//节流函数,一定时间内只能执行一次

//参数1:函数,参数2:间隔时间毫秒数,1000为一秒

function throttle(fn, gapTime) {

    if (gapTime == null || gapTime == undefined) {

        gapTime = 1000

    }

    let lastTime = null;

    // 返回新的函数

    return function () {

        let nowTime = + new Date();

        if (nowTime - lastTime > gapTime || !lastTime) {

            fn.apply(this, arguments);  //将this和参数传给原函数

            lastTime = nowTime

        }

    }

}

二、小程序苹果机和安卓机样式不兼容(最坑,不同的苹果手机展示效果还不一样,比如新苹果正常,老苹果异常)


1、页面返回切换,发现上个页面走位异常


把所有内容放在一个view里面,出现问题的是当时image标签在外部,导致返回页面的时候整个页面撑开,错位


2、文字安卓机定位基于上个元素,苹果机基于页面顶部


posation:absolute,问题导致,保持页面结构一致,去除即可。调整页面样式


3、canvas隐藏问题


自己overflow要写在父级元素上面,不然连安卓有时候都会隐藏不了


4、安卓机canvas上层div能点击事件,苹果手机不行


解决:不要让别的元素在canvas上面,调整页面样式


三、无法解决问题


小程序input会闪烁失去焦点,键盘拉起异常,微信bug


四、小程序页面生命周期问题


1、onReady无法保证页面正常加载完毕情况,组件无法获取


采用定时器,定时获取,获取成功才出发事件

--------------------- 

作者:海天酱油zz 

来源:CSDN 

原文:https://blog.csdn.net/qq_32858649/article/details/84650394 

版权声明:本文为博主原创文章,转载请附上博文链接!


收藏
登录 后发表内容