全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

JavaScript中防止微信浏览器被整体拖动的方法

在微信网页开发中,我使用的页面结构是在body下的container覆盖全屏,container下有个header和page的容器,page负责显示所有内容并实现滚动。

结构如图: 

但是遇到了一个问题:在页面已经滚动到顶部时,继续往下拖动page容器,会将微信浏览器整体往下拖,漏出“该网页由XXX提供”的提示,然后在安卓下,影响并不大,但是在iphone下,就没那么简单了,经过测试,在苹果下,往下拖动后快速滑动页面中的page,page并不会滚动,上拖同样遇到了这个问题,非常影响体验。

查阅文献后,我准备在touchstart和touchmove上做些处理。

思路是当page页面滚动到顶部时,再向下拖动会阻止默认的拖动事件,page页面到底后也阻止向上拖动。结构与代码如下

doctype html

html
  head
    title 微信拖动测试
    meta(charset="utf-8")
    meta(name="viewport", content="initial-scale=1, maximum-scale=1, minimum-scale=1")
    link(rel='stylesheet', href='/stylesheets/style.css')
    script(src="http://apps.bdimg.com/libs/zepto/1.1.4/zepto.min.js")
  body
    #container
      .header
        | header
      .page
        .box box1 in page
        .box box2 in page
        .box box3 in page
        .box.bottom box4 in page
  script.
    $(function() {
      var startY, endY;
      var box_height = $('#container').height();
      $('.page').on('touchstart', function(event) {
        event.stopPropagation();
        startY = event.touches[0].pageY;
      });
      $('.page').on('touchmove', function(event) {
        event.stopPropagation();
        var endY = event.changedTouches[0].pageY;
        var changedY = endY - startY;
        var scroll_top = $('.page').scrollTop();
          // 判断是否在顶部,且向下拖动
        if (scroll_top === 0 && changedY > 0) {
          event.preventDefault();
        }
          // 判断是否在底部,且向上拖动
        var o = $('.bottom').offset();
        if (o.top + o.height === box_height && changedY < 0) {
          event.preventDefault();
        }
      });
       // header禁止拖动
      $('.header').on('touchmove', function(event) {
        event.preventDefault();
      });
    });

样式如下:

*{
  padding: 0;
  margin: 0;
}
#container{
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  background-color: #efefef;
  color: #fff;
  text-align: center;
  font-size: 40px;
}
.header{
  position: absolute;
  left: 0;
  right: 0;
  height: 80px;
  line-height: 80px;
  background-color: #ddd;
}
.page{
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  top: 80px;
  background-color: #ccc;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
.page > *{
  z-index: 1;
}
.box{
  width: 100%;
  height: 300px;
  line-height: 300px;
  box-sizing: border-box;
  border-bottom: 2px solid #fff;
}

总结

以上所述是小编给大家介绍的JavaScript中防止微信浏览器被整体拖动的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!


# 微信浏览器整体拖动  # 解决微信内置浏览器返回上一页强制刷新问题方法  # JavaScript 监控微信浏览器且自带返回按钮时间  # JS如何设置iOS中微信浏览器的title  # 微信小程序 在Chrome浏览器上运行以及WebStorm的使用  # JS监听微信、支付宝等移动app及浏览器的返回、后退、上一页按钮的事件方法  # Adnroid 微信内置浏览器清除缓存  # 解决微信浏览器Javascript无法使用window.location.reload()刷新页面  # 拖动  # 往下  # 小编  # 判断是否  # 是在  # 有个  # 在此  # 这个问题  # 就没  # 给大家  # 如图  # 一个问题  # 会将  # 全屏  # 所有内容  # 做些  # 所述  # 给我留言  # 感谢大家  # 再向 


相关文章: 利用JavaScript实现拖拽改变元素大小  公司门户网站制作公司有哪些,怎样使用wordpress制作一个企业网站?  网站制作难吗安全吗,做一个网站需要多久时间?  宝塔建站教程:一键部署配置流程与SEO优化实战指南  家族网站制作贴纸教程视频,用豆子做粘帖画怎么制作?  深圳网站制作培训,深圳哪些招聘网站比较好?  专业的网站制作设计是什么,如何制作一个企业网站,建设网站的基本步骤有哪些?  手机怎么制作网站教程步骤,手机怎么做自己的网页链接?  ,sp开头的版面叫什么?  建站之星如何保障用户数据免受黑客入侵?  如何在IIS7上新建站点并设置安全权限?  南阳网站制作公司推荐,小学电子版试卷去哪里找资源好?  内部网站制作流程,如何建立公司内部网站?  台州网站建设制作公司,浙江手机无犯罪记录证明怎么开?  专业商城网站制作公司有哪些,pi商城官网是哪个?  mc皮肤壁纸制作器,苹果平板怎么设置自己想要的壁纸我的世界?  广州顶尖建站服务:企业官网建设与SEO优化一体化方案  广德云建站网站建设方案与建站流程优化指南  宝塔新建站点报错如何解决?  如何实现建站之星域名转发设置?  建站之星后台密码遗忘或太弱?如何重置与强化?  如何快速启动建站代理加盟业务?  如何在Golang中引入测试模块_Golang测试包导入与使用实践  如何用AWS免费套餐快速搭建高效网站?  建站之星后台管理:高效配置与模板优化提升用户体验  西安大型网站制作公司,西安招聘网站最好的是哪个?  已有域名如何快速搭建专属网站?  如何使用Golang安装API文档生成工具_快速生成接口文档  建站之星CMS建站配置指南:模板选择与SEO优化技巧  建站之星安装后界面空白如何解决?  详解jQuery停止动画——stop()方法的使用  宝塔面板如何快速创建新站点?  企业微网站怎么做,公司网站和公众号有什么区别?  建站之星代理如何获取技术支持?  官网网站制作腾讯审核要多久,联想路由器newifi官网  深圳网站制作案例,网页的相关名词有哪些?  定制建站方案优化指南:企业官网开发与建站费用解析  建站OpenVZ教程与优化策略:配置指南与性能提升  网站制作的软件有哪些,制作微信公众号除了秀米还有哪些比较好用的平台?  红河网站制作公司,红河事业单位身份证如何上传?  油猴 教程,油猴搜脚本为什么会网页无法显示?  如何确认建站备案号应放置的具体位置?  如何制作算命网站,怎么注册算命网站?  成都响应式网站开发,dw怎么把手机适应页面变成网页?  网站建设设计制作营销公司南阳,如何策划设计和建设网站?  如何基于云服务器快速搭建网站及云盘系统?  常州企业网站制作公司,全国继续教育网怎么登录?  网站制作哪家好,cc、.co、.cm哪个域名更适合做网站?  武汉网站如何制作,黄黄高铁武穴北站途经哪些村庄?  建站之星导航如何优化提升用户体验? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。