亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

微信禁止下拉查看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的處理方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復

相關(guān)文章

  • javascript實現(xiàn)搜索篩選功能實例代碼

    javascript實現(xiàn)搜索篩選功能實例代碼

    這篇文章主要給大家介紹了關(guān)于javascript實現(xiàn)搜索篩選功能的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-11-11
  • JS 修改URL參數(shù)(實現(xiàn)代碼)

    JS 修改URL參數(shù)(實現(xiàn)代碼)

    本篇文章是對JS修改URL參數(shù)的實現(xiàn)代碼進行了詳細的分析介紹,需要的朋友參考下
    2013-07-07
  • JS如何去掉小數(shù)末尾多余的0,并且最多保留兩位小數(shù)

    JS如何去掉小數(shù)末尾多余的0,并且最多保留兩位小數(shù)

    這篇文章主要介紹了JS如何去掉小數(shù)末尾多余的0,并且最多保留兩位小數(shù)問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • js+css3實現(xiàn)炫酷時鐘

    js+css3實現(xiàn)炫酷時鐘

    這篇文章主要為大家詳細介紹了js+css3實現(xiàn)炫酷時鐘,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-08-08
  • js實現(xiàn)支持手機滑動切換的輪播圖片效果實例

    js實現(xiàn)支持手機滑動切換的輪播圖片效果實例

    這篇文章主要介紹了js實現(xiàn)支持手機滑動切換的輪播圖片效果,實例分析了javascript實現(xiàn)圖片切換的相關(guān)技巧,非常具有實用價值,需要的朋友可以參考下
    2015-04-04
  • 微信小程序動態(tài)增加按鈕組件

    微信小程序動態(tài)增加按鈕組件

    這篇文章主要為大家詳細介紹了微信小程序動態(tài)增加按鈕組件,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-09-09
  • JS中arguments的使用示例

    JS中arguments的使用示例

    本文主要介紹了JS中arguments的使用示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-05-05
  • js實現(xiàn)對table動態(tài)添加、刪除和更新的方法

    js實現(xiàn)對table動態(tài)添加、刪除和更新的方法

    這篇文章主要介紹了js實現(xiàn)對table動態(tài)添加、刪除和更新的方法,涉及javascript針對html中table表格節(jié)點的操作技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-02-02
  • bootstrap+jQuery 實現(xiàn)下拉菜單中復選框全選和全不選效果

    bootstrap+jQuery 實現(xiàn)下拉菜單中復選框全選和全不選效果

    這篇文章主要給大家介紹了關(guān)于利用bootstrap+jQuery 實現(xiàn)下拉菜單中復選框全選和全不選效果的相關(guān)資料,文中給出了完整的示例代碼供大家參考學習,對大家具有一定的參考學習價值,需要的朋友下面來一起看看吧。
    2017-06-06
  • Nuxt.js開啟SSR渲染的教程詳解

    Nuxt.js開啟SSR渲染的教程詳解

    Nuxt.js 是一個基于 Vue.js 的通用應(yīng)用框架。 通過對客戶端/服務(wù)端基礎(chǔ)架構(gòu)的抽象組織,Nuxt.js 主要關(guān)注的是應(yīng)用的 UI渲染。這篇文章主要介紹了Nuxt.js開啟SSR渲染 ,需要的朋友可以參考下
    2018-11-11

最新評論