获取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',
width: '100%',
top: 0,
});
}
// 关闭弹框,页面正常显示
function canScroll() {
$('body').css({
overflow: '',
position: 'static',
width: 'auto',
top: 0,
});
$(window).scrollTop(scrollDistence);
}
 

常用js封装的更多相关文章

  1. 常用js方法封装

    常用js方法封装 var myJs = { /* * 格式化日期 * @param dt 日期对象 * @returns {string} 返回值是格式化的字符串日期 */ getDates: fun ...

  2. js实现第一次打开网页弹出指定窗口(常用功能封装很好用)

    js实现第一次打开网页弹出指定窗口(常用功能封装很好用) 一.总结 1.常用功能封装:之前封装的cookie的操作函数非常好用,我自己也可以这么搞 二.js实现第一次打开网页弹出指定窗口 练习1:第一 ...

  3. 原生JS封装Ajax插件(同域&&jsonp跨域)

    抛出一个问题,其实所谓的熟悉原生JS,怎样的程度才是熟悉呢? 最近都在做原生JS熟悉的练习... 用原生Js封装了一个Ajax插件,引入一般的项目,传传数据,感觉还是可行的...简单说说思路,如有不正 ...

  4. React Native之TextInput的介绍与使用(富文本封装与使用实例,常用输入框封装与使用实例)

    React Native之TextInput的介绍与使用(富文本封装与使用实例,常用输入框封装与使用实例) TextInput组件介绍 TextInput是一个允许用户在应用中通过键盘输入文本的基本组 ...

  5. api日常总结:前端常用js函数和CSS常用技巧

    我的移动端media html{font-size:10px} @media screen and (min-width:321px) and (max-width:375px){html{font- ...

  6. 原生js封装的一些jquery方法

    用js封装一些常用的jquery方法 记录一下 hasClass:判断是否有class function hasClass(ele, cls) { if (!ele || !cls) return f ...

  7. 原生Js封装的动画类

    算法用的是Tween类,需要研究的参考这篇文章: http://www.cnblogs.com/cloudgamer/archive/2009/01/06/Tween.html 网页里常用的动画 放大 ...

  8. 使用NW.js封装微信公众号菜单编辑器为桌面应用

    开发微信公众号的朋友都会遇到一个常见的需求就是修改自定义菜单,如果每个人都去开发这个不经常使用的功能确实有点浪费时间.前段时间在github上找到一个仿企业号的菜单编辑界面,结合微信的C# SDK开发 ...

  9. 常用js方法

    function dateGetter(name, size, offset, trim) { offset = offset || 0; return function (date) { var v ...

随机推荐

  1. 【python系统学习08】for循环知识点合集

    for循环 for简介 [循环]:就是依照某些我们编写的特定规则,重复的做一件事. 当你需要重复的"搬砖"的时候,可以用for循环进行遍历,让机器循环的帮你去"搬砖&qu ...

  2. JS-08-对象

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  3. 一文教你一次性完成Helm 3迁移

    2019年,Kubernetes软件包管理器--Helm发布了最新版本Helm 3,并且该版本已经stable.Helm 3中的一些关键特性我们在之前的文章中已经介绍过,其中一些功能吸引了许多开发人员 ...

  4. vue报错Error in v-on handler: "RangeError: Maximum call stack size exceeded"

    看下面的报错 错误 看到这个错误一脸懵逼.后面了解到,是因为程序进入了死循环,后面检查了我的代码,原来在这里自己调用自己

  5. Hibernate(四)

    ==================================投影(查询)=============================投影查询:查询一个持久化类的一个或多个属性值    1.将每条 ...

  6. Django自动化测试平台项目案例

    引言 在项目组待了近半年时间,根据自己的感受和体验,做了一个辅助测试的工具(数据预报平台),主要目的是针对目前项目接口文档缺失,自动化预报脚本无法可视化,资源循环利用,统一管理化. 业务背景 我们项目 ...

  7. GDI+如何判断一个点是否在区域内

    https://msdn.microsoft.com/en-us/library/windows/desktop/ms533826(v=vs.85).aspx The purpose of hit t ...

  8. vcs/verdi filist

    . 现在很多verilog 的filelist 文件中用如下形式来指定文件所在的目录就行了,而不必指定具体文件 ./testbench/ppc460_PLB4/p464s_test_top_tb.v ...

  9. Cheat sheet PySpark SQL Python(PySpark 速查表)

  10. WeChall_ Training: Stegano I (Training, Stegano)

    This is the most basic image stegano I can think of. 解题: 一张小图片,文本方式打开.