html5调用qq浏览器,记一次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组件

.w-scroll {

height: 100%;

overflow: auto;

-webkit-overflow-scrolling: touch;

}

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

});

}

},

}

在需要滚动的模块中使用Scroll包起来

内容

import Scroll from '@/components/Scroll';

export default {

components:{

Scroll

},

}

可以直接加到App.vue里面,可以直接解决全局此问题

至此,完成,在微信浏览器中下拉不会再出现“网页由XXX提供,QQ浏览器X5内核提供技术支持”

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值