Vue项目解决微信浏览器下拉“网页由xxx提供,QQ浏览器X5内核提供技术支持
时间:2019-01-23
本文章向大家介绍Vue项目解决微信浏览器下拉“网页由xxx提供,QQ浏览器X5内核提供技术支持,主要包括Vue项目解决微信浏览器下拉“网页由xxx提供,QQ浏览器X5内核提供技术支持使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
外层html、body等设为不可滚动,ps:#app为vue项目基础DOM;.wx-pages为App.vue内部路由
html,body,#app,.wx-pages{
padding: 0;
margin: 0;
height: 100%;
overflow: hidden;
-webkit-overflow-scrolling: touch;
}
在public/index.html里移除touchmove事件
document.body.addEventListener('touchmove', function(e) {
e.preventDefault();
}, {
passive: false
});
写Scroll组件
<style scoped="scoped">
.w-scroll {
height: 100%;
overflow: auto;
-webkit-overflow-scrolling: touch;
}
</style>
<template>
<div ref="scroll" class="w-scroll">
<slot></slot>
</div>
</template>
<script>
export default {
name: 'scroll',
data() {
return {}
},
computed: {},
mounted() {
this.wScroll(this.$refs.scroll);
},
methods: {
wScroll(elem) {
var startX = 0,startY = 0;
document.addEventListener('touchstart', function(evt) {
var touch = evt.touches[0];
startX = Number(touch.pageX);
startY = Number(touch.pageY);
});
elem.addEventListener('touchmove', function(ev) {
var _point = ev.touches[0],
_top = elem.scrollTop;
var _bottomFaVal = elem.scrollHeight - elem.offsetHeight;
//console.log(_top + ":" + _bottomFaVal + ":" + elem.offsetHeight + ":" + elem.scrollHeight);
if(_top === 0) {
if(_point.clientY > startY) {
ev.preventDefault();
} else {
ev.stopPropagation();
}
} else if(_top === _bottomFaVal) {
elem.scrollTop--;
} else if(_top > 0 && _top < _bottomFaVal) {
ev.stopPropagation();
} else {
ev.preventDefault();
}
}, {
passive: false
});
}
},
}
</script>
在需要滚动的模块中使用Scroll包起来
<style scoped>
</style>
<template>
<Scroll style="margin-bottom: 20px;background-color: #f2f2f2;">
内容
</Scroll>
</template>
<script>
import Scroll from '@/components/Scroll';
export default {
components:{
Scroll
},
}
</script>
可以直接加到App.vue里面,可以直接解决全局此问题
<template>
<Scroll id="app">
<router-view class="wx-pages" />
</Scroll>
</template>
完毕
- Spring项目路径
- 跟Google学写代码--Chromium/base--stl_util源码学习及应用
- libphonenumber--windows上编译libphonenumber.lib以及使用(C++、VS2015)
- querySelector与querySelectorAll
- 【技术博客】Spark性能优化指南——基础篇
- 移动端兼容系列 HTML与CSS兼容
- 保存到配置文件
- linux学习第六十篇:Linux监控平台介绍,zabbix监控介绍,安装zabbix,忘记Admin密码如何做
- 支持向量机及Python代码实现
- 【技术博客】Android自定义Lint实践
- UC浏览器皮肤的那个坑
- 文本溢出-超出文本显示为省略号
- 征信区块链解决方案探索(Hyperledger)
- 概率论12 矩与矩生成函数
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- PHP使用OB缓存实现静态化功能示例
- 在Keras中实现保存和加载权重及模型结构
- Tensorflow与Keras自适应使用显存方式
- Python类及获取对象属性方法解析
- Keras实现DenseNet结构操作
- python中format函数如何使用
- keras得到每层的系数方式
- 解决TensorFlow调用Keras库函数存在的问题
- php判断电子邮件是否正确方法
- python db类用法说明
- python中wheel的用法整理
- 使用Keras训练好的.h5模型来测试一个实例
- python中查看.db文件中表格的名字及表格中的字段操作
- Ubuntu 16.04中Laravel5.4升级到5.6的步骤
- PHP SESSION机制的理解与实例