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

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

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

場景:

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

效果原理:

微信下拉彈性效果其實是瀏覽器本身的一種特性,重點就是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同時判斷scroll的位置是否到達頂部;

考慮到下拉時滾動條是否到達頂部 <= 10 來禁止touchmove事件,同時考慮存在先上拉再下拉的情況所以監(jiān)聽的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、監(jiān)聽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閃屏的現(xiàn)象

總結(jié):

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

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

相關文章

最新評論

抚松县| 平谷区| 绿春县| 马龙县| 江陵县| 馆陶县| 呼图壁县| 庄浪县| 平和县| 治县。| 精河县| 揭阳市| 石首市| 江孜县| 富阳市| 岐山县| 洛宁县| 马鞍山市| 阳朔县| 林芝县| 竹溪县| 焉耆| 会泽县| 泰兴市| 交城县| 镇原县| 锦州市| 德钦县| 中方县| 福泉市| 陕西省| 卢湾区| 柘城县| 云阳县| 洛南县| 临潭县| 克什克腾旗| 龙井市| 泾阳县| 富锦市| 孟连|