问题描述:手机H5页面在ios的webview中,下拉(或上拉)会露出黑灰色背景
解决思路
1、touchmove 时阻止系统的默认滑动事件
document.querySelector('body').addEventListener('touchmove', function(e) {
e.preventDefault();
})
结论:这个方法在安卓上能好使,但在ios上并无作用。(注意:不要用 ‘touchstart’ ,会影响其他元素的fastclick事件)
2、下拉(或上拉)时,固定定位的元素并不会随着移动,所以可将整个body设置为固定定位即可(虽简单,但亲测有效)
body {
position: fixed; /* 固定定位 */
left: 0;
top: 0;
}
结论:这个方法在ios上能满足需求,但适应的场景是:body的高度不超过webview可视范围的高度。切记 ~