码迷,mamicode.com
首页 > 移动开发 > 详细

移动端开发常用snippets

时间:2019-09-30 19:53:41      阅读:114      评论:0      收藏:0      [点我收藏+]

标签:blob   floor   mobile   格式   环境   移动端   常用   amp   black   

  1. 判断浏览器环境
  2. 解析url参数
  3. 时间格式化

判断浏览器环境

const UA  = navigator.userAgent;

// 判断终端类型
const isWechatBrowser = () => {
    return /micromessenger/i.test(UA);
  };
const isMobile = () => {
    const regExp = /ipad|iphone|android|blackberry|windows phone|webos/i
    return regExp.test(UA)
}
const isIos = () => {
    return /iphone|ipad|ipod/i.test(UA)
}
const isiPhone = () => {
    return /iphone/i.test(UA)
}
const isIpad = () => {
    return /ipad/i.test(UA)
}
const isIpod = () => {
    return /ipod/i.test(UA)
}
const isAndroid = () => {
    return /android/i.test(UA)
}

/*判断浏览器类型*/
const isFirefox = () => {
    return /firefox/i.test(UA);
}
const isChrome = () => {
    return /chrome/i.test(UA)
}
exports {isWechatBrowser}

解析url参数

const urlQueryToObject = (url) => {
    const arr =  url.split('?')[1].split('&');
  return  arr.reduce((acc,value,index) => {value.replace(/(\w+)=(\w+)/,(match,p1,p2) => {acc[p1] = p2});return acc},{})
}
// exapmple
// location.href="http:example.com/index.html?a=1&b=2"
urlQueryToObject(location.href) // {a:1,b:2}

时间格式化

export const  createAt = date => {
    var time = new Date(date);
    var year = time.getFullYear();
    var month = time.getMonth() + 1;
    var day = time.getDate();
    var hh = time.getHours();
    var mm = time.getMinutes();
    return year + '年' + month + '月' + day + '日' + ' ' + hh + ':' + mm;
}
export const timeAgo  = (date) =>  {
    var seconds = Math.floor((new Date() - new Date(date)) / 1000);

    const yearseconds = 365 * 24 * 60 * 60;// 一年有多少秒
    const monthseconds = 30 * 24 * 60 * 60; //  一个月有多少秒
    const dateseconds = 24 * 60 * 60;// 一天有多少秒

    let interval = 0;

    if (seconds > yearseconds) {
        return createAt(date);
    } else if (seconds > monthseconds) {
        interval = Math.floor(seconds / monthseconds);
        return interval + '月前';
    } else if (seconds > dateseconds) {
        interval = Math.floor(seconds / dateseconds);
        return interval + '天前';
    } else if (seconds > 3600) {
        interval = Math.floor(seconds / 3600);
        return interval + '小时前';
    } else if (seconds > 60) {
        interval = Math.floor(seconds / 60);
        return interval + '分钟前';
    } else {
        return '刚刚';
    }
},

参考:

移动端开发常用snippets

标签:blob   floor   mobile   格式   环境   移动端   常用   amp   black   

原文地址:https://www.cnblogs.com/rosendolu/p/11613773.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!