微信禁止下拉查看URL的处理

场景:

微信可以看的网址时,拉下来,这是一个微信本身的安全策略,以及用户友好的体验。

效果原则:

WeChat的引力的影响下实际上是浏览器本身的功能,重点是滚动的价值体现。

处理策略:

1、直接禁止touchmove事件在移动端。

这种策略的一般应用只有一个屏幕,在下拉菜单中不需要使用该屏幕。


Var touch1 = function () {()
document.queryselector('body)。AddEventListener('touchmove功能(e){
E.preventDefault();
});
}


弊端:对于屏幕的大小要考虑屏幕的内容全部显示,或者内容的2 +屏幕是看不到的;

2。禁止touchmove同时判断滚动的位置到达顶部。

当考虑下拉滚动条到< = 10禁用touchmove事件前,考虑先拉然后下降情况,监控touchend事件并计算用于确定触摸事件流的最高位置


VaR Touch2 =函数(){()
VaR法; / /最后一次Y坐标
无功电; / /触摸每一次的最高点
document.queryselector('body)。AddEventListener('touchstart功能(事件){)
最后=事件。originalevent。changedtouches { 0 }。clienty;
电池=法;
});
document.queryselector('body)。AddEventListener('touchmove功能(事件){)
var y =事件。originalevent。changedtouches { 0 }。clienty;
如果(y >电池){
电池= Y;
}
var st = document.body.scrolltop; / /滚动条的高度
如果(y > =移植ST <= 10){
最后= Y;
Event.preventDefault();
}
最后= Y;
});
document.queryselector('body)。AddEventListener('touchend功能(事件){)
var y =事件。originalevent。changedtouches { 0 }。clienty;
var st = document.body.scrolltop; / /滚动条的高度
如果(Y电池<圣< = 10){
Event.preventDefault();
}
});
}


弊端:第一touchmove有漏洞的问题,也有漏洞在touchmove过程

3、监控滚动事件,禁止高度<0;

当滚动条的高度小于0时,它被重置为0,并且顶部位置被强制向后。


VaR Touch3 =函数(){()
window.onscroll =函数(){
var = document.documentelement.scrolltop document.body.scrolltop | |;
如果(顶部< = 0){
document.body.scrolltop = 0;
}
}
}


弊端:将有一个下拉URL闪烁屏幕。

总结:

可以认为,上述三种策略的结合会更好。有些人可以禁止touchmove和模拟touchmove处理。

以上是一个小的微信看到URL的处理。我们希望能帮助你。如果你有任何问题,请给我留言,萧边会及时回复。