微信禁止下拉查看URL如何处理

广告:宝塔Linux面板高效运维的服务器管理软件 点击【 https://www.bt.cn/p/uNLv1L 】立即购买

微信禁止下拉查看URL如何处理

微信下拉时可以查看到URL,本身是微信的一种安全策略之一,也是一种用户交互友好的体验;本文主要介绍微信禁止下拉查看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闪屏的现象

相关推荐:

node.js中http模块和url模块简介

详解修改Laravel中url()的根地址

php如何解析url中的中文字符

以上就是微信禁止下拉查看URL如何处理的详细内容,更多请关注9543建站博客其它相关文章!

广告:SSL证书一年128.66元起,点击购买~~~

9543建站博客
一个专注于网站开发、微信开发的技术类纯净博客。
作者头像
admin创始人

肥猫,知名SEO博客站长,14年SEO经验。

上一篇:Yii框架中的Web服务客户端:连接外部世界
下一篇:bootstrap框架优点有哪些

发表评论

关闭广告
关闭广告