1.如果页面是整个scroll-view,scroll-view最好不要有fixed定位的元素,否则在ios系统中会出现fixed定位的元素无法显示问题;
2.小程序配置的底部导航,自己写的遮罩是无法遮住的,所以有些时候最好自己写底部导航,但是自己写底部导航时可以用wx.redirect来进行页面跳转,这样跳转和配置的导航页面跳转效果一致;
3.scroll-view问题,有些页面需要滚动加载列表,对scroll-view高度有一定的要求,一开始是直接定的多少rpx,后来在iphonex或其他全面屏手机上发现页面高度有问题。后来用wx.getSystemInfo获取设备高度来对scroll-view进行高度设置可以解决这一问题;
4.想要控制小程序自带的返回可以通过在onUnload方法里面写页面跳转方法来实现;
5.地理位置授权拒绝后再次调用授权问题
地理位置授权拒绝后如果不做任何设置,会一直无法进行地理位置重新授权,除非清理缓存;为了解决这个问题,在拒绝授权后可以调用wx.openSetting方法;例:
getSetting:function(){
var that=this;
wx.getSetting({
success:res=>{
if (!res.authSetting['scope.userLocation']) {//未进行位置授权
wx.authorize({//进行地理位置授权
scope: 'scope.userLocation',
success(res) {
console.log('获取地理位置授权成功');
wx.getLocation({
type: 'wgs84',
success: function (res) {
}
})
},
fail() {
that.openConfirm();
}
})
}
}
})
},
openConfirm: function () {
wx.showModal({
content: '检测到您未打开位置权限,是否去设置打开?',
confirmText: "确认",
cancelText: "取消",
success: function (res) {
console.log(res);
//点击“确认”时打开设置页面
if (res.confirm) {
console.log('用户点击确认')
wx.openSetting({
success: (res) => {
console.log(res)
}
})
} else {
console.log('用户点击取消')
}
}
});
},
这是就会出现
打开使用我的地理位置即可
6.小程序webview页面上传图片问题
webview页面需要调用相册或照相机上传图片,在安卓机上微信不会识别出当前路径,只能识别入口路径,如果用当前页面路径去获取配置信息,会导致wx.config配置失败,不能实现上传图片功能。所以在入口页面可以先判断当前环境是否是小程序环境,如果是小程序环境可以在先获取页面链接保存下来,在进入需要上传图片的页面时,通过该链接来获取微信配置信息
7.通过redirectTo方式或小程序配置的导航跳转到webview页面再返回小程序页面是获取不到webview页面传递过来的信息
8.元素position:absolute后即使设置了宽高在部分手机上依然无法隐藏多出的部分,这时我们可以
.ovh {
/* -webkit-backface-visibility: hidden;
backface-visibility: hidden; */
-webkit-transform: translate3d(0, 0, 0);
transform: translate3d(0, 0, 0);
overflow: hidden;
}
来解决