最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時(shí)間:2017年09月28日 17:05:31   投稿:mrr  
這篇文章主要介紹了微信禁止下拉查看URL的處理方法,需要的朋友可以參考下

場景:

微信下拉時(shí)可以查看到URL,本身是微信的一種安全策略之一,也是一種用戶交互友好的體驗(yàn);

效果原理:

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

處理策略:

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

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

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

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

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

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

var touch2 = 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時(shí)就重置為0,強(qiáng)制回退頂部位置

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

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

總結(jié):

可以考慮以上三種策略結(jié)合來使用會更好;也有些人把touchmove禁掉后自己模擬touchmove處理,也是可以做到的就是比較復(fù)雜而已;

以上所述是小編給大家介紹的微信禁止下拉查看URL的處理方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時(shí)回復(fù)

相關(guān)文章

最新評論

嘉善县| 威海市| 青神县| 潞西市| 务川| 宁海县| 德化县| 永兴县| 海淀区| 呼图壁县| 武隆县| 陇西县| 启东市| 拉萨市| 淄博市| 新龙县| 勐海县| 鄯善县| 三明市| 梅州市| 阿坝县| 克什克腾旗| 青冈县| 大埔区| 南溪县| 青海省| 色达县| 北安市| 云林县| 会理县| 那坡县| 林口县| 凤山县| 特克斯县| 天门市| 河西区| 岚皋县| 通州市| 南通市| 乌鲁木齐县| 随州市|