微信禁止下拉查看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闪屏的现象总结:可以考虑以上三种策略结合来使用会更好;也有些人把touchmove禁掉后自己模拟touchmove处理,也是可以做到的就是比较复杂而已;以上所述是小编给大家介绍的微信禁止下拉查看URL的处理方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复。
答:参考一下内容: 首先微信的聊天记录有文字记录和音频记录两种,下面小编将分类给大家介绍方法。Ps:本方法适用于安卓手机上的微信,上传文本聊天记录需要root权限...详情>>
答:详情>>
答:新一代的计算机已将网络接口集成到主板上,网络功能已嵌入到操作系统之中,智能大楼的兴建已经和计算机网络布线同时、同地、同方案施工详情>>
答:炒股,买卖期货,开网络店铺。呵呵。。详情>>