一、iPhone X适配方法
顶部header被遮挡,找到api.js中的fixIos7Bar、fixStatusBar方法,用以下代码替换即可
u.fixIos7Bar = function(el){
return u.fixStatusBar(el);
};
u.fixStatusBar = function(el){
if(!u.isElement(el)){
console.warn('$api.fixStatusBar Function need el param, el param must be DOM Element');
return 0;
}
el.style.paddingTop = api.safeArea.top + 'px';
return el.offsetHeight;
};底部footer被虚拟home键遮挡,在api.js中添加一个fixTabBar方法如下
u.fixTabBar = function(el){
if(!u.isElement(el)){
console.warn('$api.fixTabBar Function need el param, el param must be DOM Element');
return 0;
}
el.style.paddingBottom = api.safeArea.bottom + 'px';
return el.offsetHeight;
}在需要的地方(如$api.fixStatusBar(header);的下方)调用
$api.fixTabBar(footer); // 适配iPhone X
二、华为机虚拟键盘解决方案
控制openframe时的高度h以及marginBottom的值即可
api.openFrame({
name: 'cart_frame',
url: 'cart_frame.html',
rect: {
x: 0,
y: $('#header').height(),
w: 'auto',
h: 'auto',
marginLeft: 0,
marginTop: 0,
marginBottom: $('#footer').height(),
marginRight: 0,
},
bounces: true
});