场景:

微信下拉时可以查看到URL,本身是微信的一种安全策略之一,也是一种用户交互友好的体验;
效果原理:
微信下拉弹性效果其实是浏览器本身的一种特性,重点就是scroll值的一种体现;
处理策略:
1、直接禁止mobile端的touchmove事件;
这种策略一般适用页面只有一屏不需要下拉情况下使用;
var touch1 = function(){
document.querySelector(‘body‘).addEventListener(‘touchmove‘, function (e) {
e.preventDefault();
});
}
弊端:对于大小不同的屏要考虑到内容一屏全部显示,不然2+屏的内容就没有办法看了;
2、禁止touchmove同时判断scroll的位置是否到达顶部;
考虑到下拉时滚动条是否到达顶部 <= 10 来禁止touchmove事件,同时考虑存在先上拉再下拉的情况所以监听的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、监听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闪屏的现象
总结:
可以考虑以上三种策略结合来使用会更好;也有些人把touchmove禁掉后自己模拟touchmove处理,也是可以做到的就是比较复杂而已;
以上所述是小编给大家介绍的微信禁止下拉查看URL的处理方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复
# 微信禁止下拉
# 微信小程序swiper禁止用户手动滑动代码实例
# 微信浏览器禁止页面下拉查看网址实例详解
# React Js 微信禁止复制链接分享禁止隐藏右上角菜单功能
# JavaScript禁止微信浏览器下拉回弹效果
# js实现移动端微信页面禁止字体放大
# 微信小程序实现带参数的分享功能(两种方法)
# 微信小程序实现禁止分享代码实例
# 滚动条
# 考虑到
# 小编
# 有一
# 看了
# 不需要
# 给大家
# 三种
# 没有办法
# 时就
# 中也
# 所述
# 给我留言
# 可以做到
# 可以查看
# 人把
# 安全策略
# 再下
# 疑问请
# 有任何
相关文章:
如何在橙子建站中快速调整背景颜色?
建站之星各版本价格是多少?
C++用Dijkstra(迪杰斯特拉)算法求最短路径
建站之星如何开启自定义404页面避免用户流失?
定制建站模板如何实现SEO优化与智能系统配置?18字教程
公司网站制作费用多少,为公司建立一个网站需要哪些费用?
,怎么在广州志愿者网站注册?
专业的网站制作设计是什么,如何制作一个企业网站,建设网站的基本步骤有哪些?
c# Task.Yield 的作用是什么 它和Task.Delay(1)有区别吗
IOS倒计时设置UIButton标题title的抖动问题
国美网站制作流程,国美电器蒸汽鍋怎么用官方网站?
攀枝花网站建设,攀枝花营业执照网上怎么年审?
建站之星如何一键生成手机站?
建站之星如何修改网站生成路径?
完全自定义免费建站平台:主题模板在线生成一站式服务
如何在云服务器上快速搭建个人网站?
如何用美橙互联一键搭建多站合一网站?
JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)
如何通过VPS建站实现广告与增值服务盈利?
C#如何使用XPathNavigator高效查询XML
如何在阿里云香港服务器快速搭建网站?
香港服务器部署网站为何提示未备案?
建站之星导航如何优化提升用户体验?
广州顶尖建站服务:企业官网建设与SEO优化一体化方案
西安专业网站制作公司有哪些,陕西省建行官方网站?
网站制作怎么样才能赚钱,用自己的电脑做服务器架设网站有什么利弊,能赚钱吗?
如何用腾讯建站主机快速创建免费网站?
外贸公司网站制作哪家好,maersk船公司官网?
建站之星代理如何获取技术支持?
独立制作一个网站多少钱,建立网站需要花多少钱?
合肥做个网站多少钱,合肥本地有没有比较靠谱的交友平台?
如何确认建站备案号应放置的具体位置?
如何快速重置建站主机并恢复默认配置?
已有域名和空间如何搭建网站?
如何基于云服务器快速搭建网站及云盘系统?
php能控制zigbee模块吗_php通过串口与cc2530 zigbee通信【介绍】
如何用IIS7快速搭建并优化网站站点?
教程网站设计制作软件,怎么创建自己的一个网站?
小视频制作网站有哪些,有什么看国内小视频的网站,求推荐?
利用JavaScript实现拖拽改变元素大小
音乐网站服务器如何优化API响应速度?
如何选择高效响应式自助建站源码系统?
番禺网站制作公司哪家值得合作,番禺图书馆新馆开放了吗?
上海网站制作开发公司,上海买房比较好的网站有哪些?
建站之星后台密码遗忘如何找回?
建站之星IIS配置教程:代码生成技巧与站点搭建指南
建站之星手机一键生成:多端自适应+小程序开发快速建站指南
临沂网站制作公司有哪些,临沂第四中学官网?
三星网站视频制作教程下载,三星w23网页如何全屏?
如何在Golang中处理模块冲突_解决依赖版本不兼容问题
*请认真填写需求信息,我们会在24小时内与您取得联系。