小程序 · 2024年2月26日

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

微信下拉时可以查看到url,本身是微信的一种安全策略之一,也是一种用户交互友好的体验;本文主要介绍微信禁止下拉查看url的处理方法,需要的朋友可以参考下,希望能帮助到大家。

效果原理:

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

处理策略:

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

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

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

登录后复制

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

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

考虑到下拉时滚动条是否到达顶部

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 &gt;= lastY &amp;&amp; st <p>弊端:第一次的touchmove存在漏洞问题,touchmove的过程中也存在漏洞</p><p>3、监听scroll的滚动事件,禁止高度</p><p>每当滚动条的高度小于0时就重置为0,强制回退顶部位置</p><p class="jb51code"><br></p><pre class="brush:js;">var touch3 = function () {
  window.onscroll = function () {
    var top = document.documentElement.scrollTop || document.body.scrollTop;
    if(top <p>弊端:会存在下拉URL闪屏的现象</p><p>相关推荐:<br></p><p><a href="http://www.php.cn/js-tutorial-385809.html" target="_self">node.js中http模块和url模块简介</a></p><p><a href="http://www.php.cn/php-weizijiaocheng-384041.html" target="_self">详解修改Laravel中url()的根地址</a></p><p><a href="http://www.php.cn/php-weizijiaocheng-383129.html" target="_self">php如何解析url中的中文字符</a></p>

登录后复制

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