返回顶部
首页 > 资讯 > 前端开发 > JavaScript >JavaScript中如何防止微信浏览器被整体拖动
  • 927
分享到

JavaScript中如何防止微信浏览器被整体拖动

2024-04-02 19:04:59 927人浏览 独家记忆
摘要

这篇文章给大家分享的是有关javascript中如何防止微信浏览器被整体拖动的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。在微信网页开发中,我使用的页面结构是在body下的con

这篇文章给大家分享的是有关javascript中如何防止微信浏览器被整体拖动的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

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

结构如图: 

JavaScript中如何防止微信浏览器被整体拖动

但是遇到了一个问题:在页面已经滚动到顶部时,继续往下拖动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中如何防止微信浏览器被整体拖动”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

--结束END--

本文标题: JavaScript中如何防止微信浏览器被整体拖动

本文链接: https://www.lsjlt.com/news/77692.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • JavaScript中如何防止微信浏览器被整体拖动
    这篇文章给大家分享的是有关JavaScript中如何防止微信浏览器被整体拖动的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。在微信网页开发中,我使用的页面结构是在body下的con...
    99+
    2024-04-02
  • jquery怎么实现微信浏览器阻止页面拖动
    这篇文章主要讲解了“jquery怎么实现微信浏览器阻止页面拖动”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“jquery怎么实现微信浏览器阻止页面拖动”吧!...
    99+
    2024-04-02
  • win7如何防止浏览器主页被篡改
    这篇文章主要介绍了win7如何防止浏览器主页被篡改的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇win7如何防止浏览器主页被篡改文章都会有所收获,下面我们一起来看看吧。方法/步骤:直接在键盘上按下“win”+“...
    99+
    2023-06-27
  • 笔记本电脑如何防止浏览器被恶意攻击
    这篇文章主要介绍了笔记本电脑如何防止浏览器被恶意攻击,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。首先登陆系统桌面,使用组合快捷键win键+r键打开运行窗口,并输入“gped...
    99+
    2023-06-28
  • JavaScript如何实现自动点击链接防止绕过浏览器访问
    这篇文章将为大家详细讲解有关JavaScript如何实现自动点击链接防止绕过浏览器访问,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。做支付宝帐号登录,需要做一个效果,就是...
    99+
    2024-04-02
  • 微信浏览器如何禁止页面下拉查看网址
    这篇文章主要为大家展示了“微信浏览器如何禁止页面下拉查看网址”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“微信浏览器如何禁止页面下拉查看网址”这篇文章吧。微信浏...
    99+
    2024-04-02
  • 如何实现ajax回调打开新窗体防止浏览器拦截
    这篇文章主要介绍如何实现ajax回调打开新窗体防止浏览器拦截,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!ajax回调打开新窗体防止浏览器拦截,就这么做!问题剖析:function&...
    99+
    2024-04-02
  • python selenium在打开的浏览器中如何动态调整User Agent
    这篇文章主要为大家展示了“python selenium在打开的浏览器中如何动态调整User Agent”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“python ...
    99+
    2023-06-29
  • 如何使用js限制网页只在微信浏览器中打开
    小编给大家分享一下如何使用js限制网页只在微信浏览器中打开,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!用js限制网页只在微信浏...
    99+
    2024-04-02
  • 微信开发中如何实现提示在浏览器打开的效果
    这篇文章主要为大家展示了“微信开发中如何实现提示在浏览器打开的效果”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“微信开发中如何实现提示在浏览器打开的效果”这篇文...
    99+
    2024-04-02
  • 如何实现微信打开网址添加在浏览器中打开提示
    这篇文章给大家分享的是有关如何实现微信打开网址添加在浏览器中打开提示的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。使用微信打开网址时,无法在微信内打开常用下载软件,手机APP等。...
    99+
    2024-04-02
  • 如何屏蔽浏览器自动的input样式且不影响设计整体的一致性
    如何屏蔽浏览器自动的input样式且不影响设计整体的一致性,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。 今...
    99+
    2024-04-02
  • 在微信公众号开发中如何实现浏览器左上角返回按钮拦截功能
    小编给大家分享一下在微信公众号开发中如何实现浏览器左上角返回按钮拦截功能,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!在微信公众号开发中,有时需要对浏览器左上角返回按钮进行拦截处理相关的页...
    99+
    2024-04-02
  • Mindjump如何通过代码实现微信中点击链接直接跳转到手机默认浏览器
    本篇文章为大家展示了Mindjump如何通过代码实现微信中点击链接直接跳转到手机默认浏览器,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。最近遇到一个需求、朋友找我制作一个在微信中的聊天框,或者公众号...
    99+
    2023-06-04
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作