移动端开发的小伙伴们应该遇到过一个问题:h5页面在微信端打开的时候,滑到最顶部再网上滑就会出现一段黑色的背景,并且显示当前页面url,虽然一般情况下不会有太大的影响,但是如果要自定义显示内容就会影响我们的需求了。找了很多方法,都是简单粗暴地直接e.preventDefault(),但这样会禁止内部Scroll,导致页面不能滚动,上拉加载失效,太残暴了,找了很久,终于找到了办法,可以达到禁止微信黑底并且不影响页面其他滑动,在此记录下:

// 首先禁止body

document.body.ontouchmove = function (e) {

e.preventDefault();

};// 然后取得触摸点的坐标

var startX = 0, startY = 0; //touchstart事件

function touchSatrtFunc(evt) {

try {

//evt.preventDefault(); //阻止触摸时浏览器的缩放、滚动条滚动等

var touch = evt.touches[0]; //获取第一个触点

var x = Number(touch.pageX); //页面触点X坐标

var y = Number(touch.pageY); //页面触点Y坐标

//记录触点初始位置

startX = x;

startY = y;

} catch (e) {

alert('touchSatrtFunc:' + e.message);

}

}

document.addEventListener('touchstart', touchSatrtFunc, false);// 然后对允许滚动的条件进行判断,这里讲滚动的元素指向body

var _ss = document.body;

_ss.ontouchmove = function (ev) {

var _point = ev.touches[0],

_top = _ss.scrollTop; // 什么时候到底部

var _bottomFaVal = _ss.scrollHeight - _ss.offsetHeight; // 到达顶端

if (_top === 0) { // 阻止向下滑动

if (_point.clientY > startY) {

ev.preventDefault();

} else { // 阻止冒泡

// 正常执行

ev.stopPropagation();

}

} else if (_top === _bottomFaVal) {

// 到达底部 如果想禁止页面滚动和上拉加载,讲这段注释放开,也就是在滚动到页面底部的制售阻止默认事件

// 阻止向上滑动

// if (_point.clientY < startY) {

// ev.preventDefault();

// } else {

// 阻止冒泡

// 正常执行

ev.stopPropagation(); // }

} else if (_top > 0 && _top < _bottomFaVal) {

ev.stopPropagation();

} else {

ev.preventDefault();

}

};

WEB前端 屏蔽移动端浏览器页面顶部提示 此网页由网站提供相关推荐

  1. vue 传参 微信_小猿圈web前端之微信小程序页面间跳转传参方式总结

    原标题:小猿圈web前端之微信小程序页面间跳转传参方式总结 最近小程序发展的越来越快,很多大公司也在打造自己的小程序平台以及购物小程序等等,今天小猿圈web前端讲师就总结了关于微信小程序的知识点,首先 ...

  2. 好程序员web前端培训分享做H5页面需要学什么

    好程序员web前端培训分享做H5页面需要学什么,很多人问过我这个问题,而问这个问题的人基本上都是刚听说过h5,处在懵懂的阶段,他们往往会被一些网上炫酷页面所吸引,开始的目的也很简单,能通过自己的努力做 ...

  3. Web前端布局实战:三国杀页面布局(上)

    Web前端布局实战:三国杀页面布局(上) 互联网进入web 2.0时代,由单一的文字和图片组成的静态网页已经不能满足用户的需求,用户需要更好的体验.在web 2.0时代,网页有静态网页和动态网页.所谓 ...

  4. web前端开发,如何提高页面性能优化?

    web前端开发,如何提高页面性能优化? 内容方面 减少HTTP请求次数 减少DOM操作 减少DNS查询 使用Ajax 可缓存 css方面 把css样式HTML代码页的上端 从页面中分离css代码,从外 ...

  5. web前端期末大作业 html+css+javascript 酒庄网页设计实例(5个页面)~学生网页设计制作...

    web前端期末大作业 html+css+javascript 酒庄网页设计实例(5个页面)~学生网页设计制作 临近期末, 你还在为HTML网页设计结课作业,老师的作业要求感到头大?HTML网页作业无从 ...

  6. safari 浏览器版本升级后提示“此网页出现问题,已重新载入网页” 解决办法

    safari 浏览器版本升级后提示"此网页出现问题,已重新载入网页" 解决办法 safari回退条件 版本回退的前提是关闭电脑的SIP机制,命令行 csrutil status 检 ...

  7. 移动端web设计尺寸_移动端H5页面的设计稿尺寸大小规范

    当我们在做手机端H5网页设计稿时(当然包含微信端的H5网页设计),如果没有做过类似的移动端的设计,UI设计师和前端工程师肯定会纠结的.如果是app设计师,就不会那么纠结啦. 那么多手机屏幕尺寸,设计稿 ...

  8. WEB前端性能优化,提高页面加载速度

    可能有人会说:网站的性能是后端工程师的事情,与前端并无多大关系.我只能说,too young too simple.事实上,只有10%~20%的最终用户响应时间是用在从Web服务器获取HTML文档并传 ...

  9. 性能测试 理论初探(七) 性能测试工具 介绍 目前知道哪些性能工具?分别用在什么软件或平台的性能测试?服务端、web前端、移动端等 性能测试工具有哪些?

    文章目录 一.前言 二.常见性能测试工具 1.服务端性能测试工具 1.1 Jmeter 1.2 Locust 1.3 LoadRunner 1.4 LoadNinja 1.5 Jmeter + Pro ...

最新文章

  1. 潘建伟团队进行人类首次洲际量子通信,给奥地利发去了什么?
  2. GridView,Repeater分页控件:WebPager(开源)
  3. Android N新特性
  4. Oracle数据库体系结构
  5. 1200可以读取modbus tcp_S7-1200 作 MODBUS TCP服务器
  6. mysql新增阵列df_DF学Mysql(三)——索引操作
  7. linux添加和增大交换分区(swap)的方法
  8. matlab gpu deep learning_优秀!这个库帮你使用GPU加速传统机器学习方法和Pandas数据处理...
  9. batchplot 3.6.2 插件_直播插件体系设计
  10. python中正则表达式_Python中正则表达式详解
  11. 实验题目用正交多项式做小二乘曲线拟合
  12. 人脸识别数据集概况及资源合集
  13. 基于LM331的频率电压转换电路
  14. AABB和OBB包围盒简介
  15. 前端实现图片压缩—压缩图片大小,画质(两种方式)
  16. 数列极限四则运算误区
  17. php圆角的度数计算公式,角度数换算公式(三角函数计算换算角度)
  18. Translational Psychiatry:重度抑郁障碍的神经进行性特征:内在连接组分析
  19. 华为机试—手机号码验证
  20. 创宇区块链|5 月安全月报

热门文章

  1. 实际编程题----CT扫描
  2. 博图v15.1 安装步骤
  3. dojo中的dojo/on
  4. 使用 cProfile 和火焰图调优 Python 程序性能
  5. Java线程状态分析
  6. 步步为营 .NET 设计模式学习笔记 十三、Bridge (桥接模式)
  7. node.js 使用----相关常用命令总结
  8. Java Web 技术栈
  9. Linux 中 SVN 重启关闭
  10. HTML网页模版/DTD有三种类型