前阵子在公司实现一个常见的需求,就是添加一个返回顶部的按钮,当滑动网页到一定程度后会出现这个按钮,需要获取到元素的滚动高度scrollTop。结果在pc端的浏览器可以生效,pc端浏览器中的移动端模式可以生效,在苹果手机上的微信浏览器也可以生效,唯独在安卓手机的微信浏览器不能生效。先展示一下核心代码:

// 用vue写的项目,scrollToTop控制按钮显示与否,当滚动高度大于1000像素就出现按钮
handleScroll () {let scrollTop = document.documentElement.scrollTopif (scrollTop > 1000) {this.scrollToTop = true} else {this.scrollToTop = false}
}

后来发现在安卓手机的微信浏览器中scrollTop的值是0,上网查了一下,解决办法是针对不同的浏览器需要做一个兼容处理:

handleScroll () {let scrollTop = document.documentElement.scrollTop || window.pageYOffset || document.body.scrollTopif (scrollTop > 1000) {this.scrollToTop = true} else {this.scrollToTop = false}
}

解决是解决了,但是为什么呢?这几个写法有什么区别呢?

  • document.documentElement在页面具有DTD,或者说指定了DOCTYPE 时可以使用,即可以取到scrollTop的值;
  • document.body在页面不具有DTD,或者说没有指定了DOCTYPE时使用;
  • window.pageYOffset表示当前文档从窗口左上角垂直滚动的像素数。

以后遇到这种类型的兼容性问题一般这样处理就行了。

安卓微信浏览器scrollTop相关推荐

  1. 解决安卓微信浏览器中location.reload 或者 location.href失效的问题

    解决安卓微信浏览器中location.reload 或者 location.href失效的问题 参考文章: (1)解决安卓微信浏览器中location.reload 或者 location.href失 ...

  2. 安卓微信浏览器使用input file图片上传无法触发change事件

    问题现象 项目中遇到一个上传图片的功能,使用了file作为选择上传,需要做图片预览等功能.在多方测试后没有问题,但在安卓微信浏览器中却发现change事件失效无法触发. 解决办法 由于在项目中我是用来 ...

  3. 安卓微信浏览器无法支持input multiple的h5属性多图上传

    H5手机端 实现多图上传的功能 但是实际上 安卓手机上只能义词上传一张图片(测试的机型:小米)代码如下: 在微信开发中遇见一个问题 应用上传插件安卓手机无法进行多张上传 当时现象: 微信浏览器选择安卓 ...

  4. 安卓微信浏览器唤起系统内部浏览器

    安卓微信浏览器唤起系统内部浏览器  最近因为公司项目需求,需要做一个功能.使用微信浏览器打开高德地图导航,经试验,高德web端没有导航功能,其实现原理是调起高德APP来实现导航的操作.然后把代码写进微 ...

  5. 安卓微信浏览器返回上一页默认读取缓存解决方案

    安卓微信浏览器返回上一页默认读取缓存解决方案 参考文章: (1)安卓微信浏览器返回上一页默认读取缓存解决方案 (2)https://www.cnblogs.com/AlexBlogs/p/577727 ...

  6. 关于安卓微信浏览器中scrollTop的问题

    前阵子在公司实现一个常见的需求,就是添加一个返回顶部的按钮,当滑动网页到一定程度后会出现这个按钮,需要获取到元素的滚动高度scrollTop.结果在pc端的浏览器可以生效,pc端浏览器中的移动端模式可 ...

  7. Android微信页面缓存清理,安卓微信浏览器缓存如何清理

    前言: 缓存这个问题的出现,真真切切的感受到微信浏览器这鬼东西对前端程序员充满了恶意,捋捋自己的发型,甚是恐慌(顿时有种想转php的冲动,有木有). 解决方案: 出现缓存问题导致用户出现很多车祸现场( ...

  8. android发送微信请求失败,安卓微信浏览器POST请求发不出去。

    post请求在微信内置浏览器里发不出去,在PC上.IOS微信内置浏览器.IOS的safari浏览器.安卓默认浏览器都可以成功发出. 测试地址:http://jx-test-agent.yaojiqip ...

  9. Android上传文件到服务器500,使用WebUploader解决安卓微信浏览器上传图片中遇到的bug...

    摘自个人博客:走啊走的记录,欢迎点击查看,效果更佳! 微信浏览器上传图片bug的原因 微信在新版本中采用的是自己的X5内核浏览器,而在较老的版本中还有可能是安卓的原生浏览器.具体的环境我也不太了解,但 ...

最新文章

  1. 博士生宿舍条件太好,本科生因疫情暂住惊到结巴!网友:不然咱读个博?
  2. html5,增加flash插件
  3. java web Junit
  4. sql文件与数据库的连接到服务器,如何:连接到基于文件的数据库
  5. 如何让API回调你的VC类成员函数而不是静态函数
  6. sync.Once 的前世今生
  7. c语言logo,真好玩 C语言输出Yahoo动态logo
  8. 天猫首页迷思之-jquery实现左侧广告牌图片轮播
  9. android读取excel文件_python里读写excel等数据文件的几种常用方式
  10. Delphi TScrollBar 用于滚动窗口、组件内容
  11. 农委系统先进集体推荐报告_来自司法行政的他们,荣获上海档案系统表彰!
  12. 系统架构师学习笔记-软件架构设计
  13. mysql罏在十三_MySQL高级知识(十三)——表锁
  14. scrapy简单爬取图片
  15. pycharm 2018.1 专业版激活 亲测可用!!!
  16. 老外编辑带你迈出自己容器化的第一步
  17. 计算机多媒体处理的是什么意思,多媒体处理的是什么信号
  18. C++11并发之std::mutex
  19. 功能强大的全新虚拟商品自动发货商城源码
  20. Php—— 1.apache2.4.x+php7.x

热门文章

  1. 用photoshop绘制白衣天使Logo设计
  2. 以机器视觉驱动纺织行业发展,AI视觉检测系统打造缺陷检测应用新场景
  3. centos7 network.service failed
  4. 华为P60屏幕怎么样?华为P60可以防水吗?华为P60是双卡双待吗
  5. xdeode php,一个PHP针对数字的加密解密类_php实例
  6. VScode安装包时报错ContextualVersionConflict
  7. 用超级巡警批量清除被挂马的网页
  8. 动画网页制作html_CSS制作网页动画
  9. 安卓开发 根据view布局动态生成带文字头像
  10. 品味男人:时尚男人的九大美化武器