记一下最近工作用到的一些方法
1判断是平板还是手机
console.log("设备头", navigator.userAgent);
let os = (function () {
let ua = navigator.userAgent,
isWindowsPhone = /(?:Windows Phone)/.test(ua),
isSymbian = /(?:SymbianOS)/.test(ua) || isWindowsPhone,
isAndroid = /(?:Android)/.test(ua),
isFireFox = /(?:Firefox)/.test(ua),
isChrome = /(?:Chrome|CriOS)/.test(ua),
isTablet =
/(?:iPad|PlayBook)/.test(ua) ||
(isAndroid && !/(?:Mobile)/.test(ua)) ||
(isFireFox && /(?:Tablet)/.test(ua)),
isPhone = /(?:iPhone)/.test(ua) && !isTablet,
isPc = !isPhone && !isAndroid && !isSymbian;
return {
isTablet: isTablet,
isPhone: isPhone,
isAndroid: isAndroid,
isPc: isPc,
};
})();
if (os.isAndroid || os.isPhone) {
this.equipmentType = 1;
console.log("手机");
} else if (os.isTablet) {
this.equipmentType = 2;
console.log("平板");
} else if (os.isPc) {
this.equipmentType = 3;
console.log("电脑");
}
2判断横竖屏
if (window.orientation == 180 || window.orientation == 0) {
if (document.body.clientWidth >= 500) {
this.equipmentType = 2;
//竖屏下宽>500默认为平板设备
}
console.log("竖屏");
}
if (window.orientation == 90 || window.orientation == -90) {
if (document.body.clientHeight >= 500) {
this.equipmentType = 2;
//横屏下高>500默认为平板设备
}
console.log("横屏");
}
3滚动到底后执行某个事件
<section class="main-page" @scroll="ScrollPage($event)" v-if="showPage">
</section>
ScrollPage(e) {
let list = e.target;
let offestScroll = list.scrollHeight - list.offsetHeight;
let isEnd = false;
//区分安卓和iOS,安卓可能==1就到底了;同时还可能=1或者=0,要避免执行两次事件。
if (this.IsAndroid() == true) {
if (parseInt(offestScroll) - parseInt(list.scrollTop) <= 1) {
isEnd = true;
}
} else {
isEnd = parseInt(offestScroll) - parseInt(list.scrollTop) === 0;
}
if (isEnd == true) {
//到底了执行对应操作
this.BeforeGetRankList();
}
},
网友评论