• 常用js封装


    获取url参数(直接取?后边的参数)

    function getUrlQuerys() {
      const queryStr = location.search.length ? location.search.substring(1) : '';
      const queryArr = queryStr.length ? queryStr.split('&') : [];
      let querys = {};
      queryArr.forEach(item => {
        let temp = item.split('=');
        querys[decodeURIComponent(temp[0])] = decodeURIComponent(temp[1]);
      });
      return querys;
    }
    const urlQuery = getUrlQuerys();  
    console.log(urlQuery['urlName'])

    //获取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
      }
    }

    // 打开弹框,页面禁止滚动

    var scrollDistence = 0; function noScroll() { scrollDistence = $(window).scrollTop(); $('body').css({ overflow: 'hidden', position: 'fixed', '100%', top: 0, }); } // 关闭弹框,页面正常显示 function canScroll() { $('body').css({ overflow: '', position: 'static', 'auto', top: 0, }); $(window).scrollTop(scrollDistence); }
     
  • 相关阅读:
    Appium自动化环境搭建
    真机Android 8.0版本以上uiautomator定位元素-Unsupported protocol: 2/Unexpected error while obtaining UI hierarchy错误处理
    rsa非对称加密
    QT使用OpenSSL的接口实现RSA的加密解密
    lua安装后其他库使用产生问题解决方法
    log4cpp的使用描述
    std::function和std::bind
    C++11线程睡眠的方式
    高精度计时器
    如何解决TCP拆包粘包问题
  • 原文地址:https://www.cnblogs.com/restart77/p/12336340.html
Copyright © 2020-2023  润新知