最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

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

来源:动视网 责编:小采 时间:2020-11-27 22:28:42
文档

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

微信禁止下拉查看URL的处理方法:场景: 微信下拉时可以查看到URL,本身是微信的一种安全策略之一,也是一种用户交互友好的体验; 效果原理: 微信下拉弹性效果其实是浏览器本身的一种特性,重点就是scroll值的一种体现; 处理策略: 1、直接禁止mobile端的touchmove事件; 这种策略一般
推荐度:
导读微信禁止下拉查看URL的处理方法:场景: 微信下拉时可以查看到URL,本身是微信的一种安全策略之一,也是一种用户交互友好的体验; 效果原理: 微信下拉弹性效果其实是浏览器本身的一种特性,重点就是scroll值的一种体现; 处理策略: 1、直接禁止mobile端的touchmove事件; 这种策略一般


场景:

微信下拉时可以查看到URL,本身是微信的一种安全策略之一,也是一种用户交互友好的体验;

效果原理:

微信下拉弹性效果其实是浏览器本身的一种特性,重点就是scroll值的一种体现;

处理策略:

1、直接禁止mobile端的touchmove事件;

这种策略一般适用页面只有一屏不需要下拉情况下使用;

var touch1 = function(){
 document.querySelector(‘body‘).addEventListener(‘touchmove‘, function (e) { 
 e.preventDefault(); 
 });
}

弊端:对于大小不同的屏要考虑到内容一屏全部显示,不然2+屏的内容就没有办法看了;

2、禁止touchmove同时判断scroll的位置是否到达顶部;

考虑到下拉时滚动条是否到达顶部 <= 10 来禁止touchmove事件,同时考虑存在先上拉再下拉的情况所以监听的touchend事件并计算一次touch事件流中的最高点位置用以判断

var touch2 = function () {
 var lastY;//最后一次y坐标点
 var betterY;//每次touch最高点
 document.querySelector(‘body‘).addEventListener('touchstart', function(event) {
 lastY = event.originalEvent.changedTouches[0].clientY;
 betterY = lastY;
 });
 document.querySelector(‘body‘).addEventListener('touchmove', function(event) {
 var y = event.originalEvent.changedTouches[0].clientY;
 if(y > betterY){
 betterY = y;
 }
 var st = document.body.scrollTop; //滚动条高度
 if (y >= lastY && st <= 10) {
 lastY = y;
 event.preventDefault();
 }
 lastY = y;
 });
 document.querySelector(‘body‘).addEventListener('touchend', function(event) {
 var y = event.originalEvent.changedTouches[0].clientY;
 var st = document.body.scrollTop; //滚动条高度
 if(y < betterY && st <= 10){
 event.preventDefault();
 }
 });
}

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

3、监听scroll的滚动事件,禁止高度<0;

每当滚动条的高度小于0时就重置为0,强制回退顶部位置

var touch3 = function () {
 window.onscroll = function () {
 var top = document.documentElement.scrollTop || document.body.scrollTop;
 if(top <= 0){
 document.body.scrollTop = 0;
 }
 }
}

弊端:会存在下拉URL闪屏的现象

总结:

可以考虑以上三种策略结合来使用会更好;也有些人把touchmove禁掉后自己模拟touchmove处理,也是可以做到的就是比较复杂而已;

以上所述是小编给大家介绍的微信禁止下拉查看URL的处理方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复

文档

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

微信禁止下拉查看URL的处理方法:场景: 微信下拉时可以查看到URL,本身是微信的一种安全策略之一,也是一种用户交互友好的体验; 效果原理: 微信下拉弹性效果其实是浏览器本身的一种特性,重点就是scroll值的一种体现; 处理策略: 1、直接禁止mobile端的touchmove事件; 这种策略一般
推荐度:
标签: 微信 处理 禁止
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top