常用js封装

Posted duqianqian

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了常用js封装相关的知识,希望对你有一定的参考价值。

//获取url参数

function getUrlParams(name, url) {
  if (!url) url = location.href;
  name = name.replace(/[[]/, ‘\[‘).replace(/[]]/, ‘\]‘);
  var regexS = ‘[\?&]‘ + name + ‘=([^&#]*)‘;
  var regex = new RegExp(regexS);
  var results = regex.exec(url);
  return results == null ? null : results[1];
}

// 获取登录状态 & 用户昵称

function getMUserInfo() {
  let loggedIn = false; // 是否登录
  let uid = 0; // 用户ID

  const cookieClubUserShow = getCookie(‘getCookie‘);//要取的字段
  const autouserid = getCookie(‘getCookie‘);
  // const cookieClubUserShow = ‘52100122|197|2|%e7%9a%b1%e7%9c%89_|0|0|0|/g11/M04/AB/BA/120X120_0_q87_autohomecar__wKjBzFnkZg6ABBS_AAFIXhsHM1c188.jpg|2018-07-31 19:42:33|0‘
  if (cookieClubUserShow && autouserid) {
    const clubUserShow = cookieClubUserShow.split(‘|‘);
    loggedIn = true;
    [uid] = clubUserShow;
  }
  return {
    loggedIn,
    uid,
  };
}

判断是否是app

function getAppInfo() {
  const ua = navigator.userAgent;
  const co = document.cookie;
  const ur = /auto_(iphone|android)(;|%3B|/)(d+.d+.d+)/i;
  const cr = /.*app_key=auto_(iphone|android)(.*)app_ver=(d+.d+.d+)/i;
  const match = ua.match(ur) || co.match(cr);

  return {
    isApp: /autohomeapp/.test(ua) || ur.test(ua) || cr.test(co),
    appKey: match && match[1],
    appVer: match && match[3],
  };
}

取浏览器内核,返回各终端类型

function getBrowser() {
  const ua = navigator.userAgent
  return {
    trident: ua.indexOf(‘Trident‘) > -1, // IE内核
    presto: ua.indexOf(‘Presto‘) > -1, // opera内核
    webKit: ua.indexOf(‘AppleWebKit‘) > -1, // 苹果、谷歌内核
    gecko: ua.indexOf(‘Gecko‘) > -1 && ua.indexOf(‘Khtml‘) === -1, // 火狐内核
    mobile: !!ua.match(/AppleWebKit.*Mobile.*/), // 是否为移动终端
    ios: !!ua.match(/(i[^;]+;( U;)? CPU.+Mac OS X/), // ios终端
    android: ua.indexOf(‘Android‘) > -1 || ua.indexOf(‘Adr‘) > -1, // android终端
    iPhone: ua.indexOf(‘iPhone‘) > -1, // 是否为iPhone或者QQHD浏览器
    iPad: ua.indexOf(‘iPad‘) > -1, // 是否iPad
    webApp: ua.indexOf(‘Safari‘) === -1, // 是否web应该程序,没有头部与底部
    weixin: ua.indexOf(‘MicroMessenger‘) > -1, // 是否微信 (2015-01-22新增)
    qq: ua.match(/sQQ/i) === ‘ qq‘, // 是否QQ
    escApp: ua.indexOf(‘UsedCar‘) > -1, // 二手车APP
    autohome: ua.indexOf(‘autohomeapp‘) > -1
  }
}

以上是关于常用js封装的主要内容,如果未能解决你的问题,请参考以下文章

js常用代码片段(更新中)

js常用代码片段

javascript JS-常用代码片段

js 常用代码片段

前端开发常用js代码片段

JS常用代码片段2-值得收藏