溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

微信禁止下拉查看URL怎么處理

發(fā)布時間:2020-12-31 11:06:42 來源:億速云 閱讀:171 作者:小新 欄目:移動開發(fā)

這篇文章主要介紹了微信禁止下拉查看URL怎么處理,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

效果原理:

微信下拉彈性效果其實(shí)是瀏覽器本身的一種特性,重點(diǎn)就是scroll值的一種體現(xiàn);

處理策略:

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

這種策略一般適用頁面只有一屏不需要下拉情況下使用;

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

弊端:對于大小不同的屏要考慮到內(nèi)容一屏全部顯示,不然2+屏的內(nèi)容就沒有辦法看了;

2、禁止touchmove同時判斷scroll的位置是否到達(dá)頂部;

考慮到下拉時滾動條是否到達(dá)頂部 <= 10 來禁止touchmove事件,同時考慮存在先上拉再下拉的情況所以監(jiān)聽的touchend事件并計算一次touch事件流中的最高點(diǎn)位置用以判斷

var touch3 = function () {
  var lastY;//最后一次y坐標(biāo)點(diǎn)
  var betterY;//每次touch最高點(diǎn)
  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、監(jiān)聽scroll的滾動事件,禁止高度<0;

每當(dāng)滾動條的高度小于0時就重置為0,強(qiáng)制回退頂部位置

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

弊端:會存在下拉URL閃屏的現(xiàn)象

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“微信禁止下拉查看URL怎么處理”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識等著你來學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

url
AI