我正在尝试解决移动设备上的问题,即呈现内容的框架与屏幕上的可见空间不同。 More info on that。
大多数情况下,我都有使用某些CSS和此JS的修复程序(demo):
var setProps = function() {
var overflow = document.body.scrollHeight - window.innerHeight;
document.querySelector('html').style.setProperty('--screen-overflow', overflow + 'px');
}
var noGo = function(event) {
window.scrollTo(0, 0);
event.preventDefault();
event.stopPropagation();
}
window.addEventListener('scroll', function(event) {
setProps();
noGo(event);
});
window.addEventListener('touchmove', function(event) {
setProps();
noGo(event);
});
window.onresize = setProps;
您会发现一些我不太喜欢的地方。尤其要注意touchmove
和scroll
并将其暂停。当您在iOS上进入最底端时,它在横向模式下口吃非常困难。
我正在尝试一种更好的方式来禁用滚动。如果我能摆脱闪烁,我会很高兴。