一、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 });