web端常用js方法

xiaoxiao2021-02-28  36

//判定是否为空 isNull =(value)=> { return typeof value == 'undefined' || value == "" || value == null || value == undefined|| value == "null"; }; //获取当前日期时间 current = (str) => { var _d = new Date(); var _s = _d.getFullYear() + '-' + (_d.getMonth() + 1) + '-' + _d.getDate(); if (str) { _s += ' ' + _d.getHours() + ':' + _d.getMinutes() + ':' + _d.getSeconds(); } return _s; }; //获取当前设备的逻辑宽度和高度 const viewport = { width: $(window).width(), height: $(window).height() }; //获取当前页面的名称 getPageName = () => { var href = window.location.href; var index = href.indexOf('?'); if (index > 0) { href = href.substr(0, index); } index = href.lastIndexOf('\/'); if (index > 0) { href = href.substr(index + 1); } ret //设置本地缓存 setLocalStorage =(key, value, isJson) => { if (window.localStorage) { if (isJson) { value = JSON.stringify(value); } window.localStorage[key] = value; } else { e.log("当前浏览器不支持localStorage"); } }; //获取本地缓存 getLocalStorage =(key, isJson) => { if (window.localStorage) { var value = window.localStorage[key] || ""; if (isJson && value) { value = JSON.parse(value); } return value; } else { e.log("当前浏览器不支持localStorage"); } }; //清除本地缓存removelocalStorage removelocalStorage =(key)=> { if (window.localStorage) { window.localStorage.removeItem(key); } }; //设置运行时缓存setSessionStorage setSessionStorage =(key, content)=> { if (window.sessionStorage) { window.sessionStorage[key] = content; } else { e.log('您的浏览器不支持setSessionStorage方法'); } }; //获取运行时缓存getSessionStorage getSessionStorage =(key)=> { if (window.sessionStorage) { return window.sessionStorage[key] || ''; } else { e.log('您的浏览器不支持getSessionStorage方法'); } }; //清除运行时缓存removeSessionStorage removeSessionStorage =(key) =>{ if (window.sessionStorage) { window.sessionStorage.removeItem(key); } }; //获取某个cookie getCookie =(cookie_name, decode)=> { //2016-11-22 suncao 修改ACCESS_TOKEN从localStorage中获取 if ('ACCESS_TOKEN' == cookie_name) { return e.getLocalStorage('ACCESS_TOKEN'); } decode = decode || true; var allcookies = document.cookie; var cookie_pos = allcookies.indexOf(cookie_name); var value = ''; if (cookie_pos > -1) { cookie_pos += cookie_name.length + 1; var cookie_end = allcookies.indexOf(";", cookie_pos); if (cookie_end == -1) { cookie_end = allcookies.length; } value = allcookies.substring(cookie_pos, cookie_end); if (decode) { try { value = decodeURIComponent(value); } catch (e) { console.log(e); return ""; } } } return value; }; //设置某个cookie setCookie =(cookie_name, cookie_value, domain, isencode, expTime)=> { var exp = new Date(); var expires = ""; if (expTime) { exp.setTime(exp.getTime() + expTime); expires = ";expires=" + exp.toGMTString(); } if (!domain) { domain = document.domain; if (/^[a-z]/i.test(document.domain)) { domain = document.domain.substring(document.domain.indexOf(".")); } } isencode = typeof isencode == 'undefined' ? true : isencode; if (isencode) { cookie_value = encodeURIComponent(cookie_value); } // 2016-11-22 suncao 修改ACCESS_TOKEN 存储为localStorage形式,避免应用退出用户丢失,重新登录问题。 if ('ACCESS_TOKEN' == cookie_name) { e.setLocalStorage('ACCESS_TOKEN', cookie_value); document.cookie = cookie_name + "=" + cookie_value + "; path=/; domain=" + domain + ";" + expires; } else { document.cookie = cookie_name + "=" + cookie_value + "; path=/; domain=" + domain + ";" + expires; } }; /** *得到地址栏参数 *@param names 参数名称 *@param urls 从指定的urls获取参数 *@param cn 是否中文 *@returns string **/ getQueryString =(names, urls, cn)=> { if (urls) { if (urls.indexOf('?') > -1) { urls = urls.substring(urls.indexOf('?') + 1); } else { return ''; } } else { urls = window.location.search.substr(1); } var reg = new RegExp("(^|&)" + names + "=([^&]*)(&|$)", "i"); var r = urls.match(reg); if (r && r[2]) { var ms = r[2].match(/(\<)|(\>)|(<)|(>)/g); if (ms && ms.length >= 4) { //如果检测到有2对及以上开始和结束尖括号 r[2] = r[2].replace(/(\<)|(<)/g, ''); } if (cn) { return r[2]; } return unescape(r[2]); } return ''; }; //获取当前运行平台 function getPlatform (){ var platforms = { amazon_fireos: /cordova-amazon-fireos/, android: /Android/, ios: /(iPad)|(iPhone)|(iPod)/, blackberry10: /(BB10)/, blackberry: /(PlayBook)|(BlackBerry)/, windows8: /MSAppHost/, windowsphone: /Windows Phone/ }; for (var key in platforms) { if (platforms[key].exec(navigator.userAgent)) { return key; } } return ""; }; //是否在Android壳子中运行 isAndroidApp =()=> { var result = false; if (window.javaBridgeInterface && window.javaBridgeInterface.getClientOS("android").toLocaleLowerCase() === 'android') { e.log('当前运行环境是在Android壳子中运行'); result = true; } //如果判断失败,再次判断所属平台 if (!result) { if(getPlatform() == "android" && isApp()) { result = true; }else { result = false; } } return result; }(); //是否在iPhone壳子中运行 isiPhoneApp =()=> { var result = e.getCookie('isiPhoneApp', false) || "false"; if (result != "true") { if (typeof(getClientOS) == 'function' && getClientOS().toLocaleLowerCase() == 'ios') { result = "true"; e.log('当前运行环境是在iOS壳子中运行'); } else if (window.navigator.userAgent.indexOf(",cpic_zt_ios") > -1) { //2015-10-21 目前已通过userAgent解决此问题,考虑到用户不会选择更新的问题此代码开放最少等到最新版ios上线appstore1个月后 result = "true"; } else { result = (e.getQueryString("e") == "1").toString(); //1==ios } } //如果判断失败,再次判断所属平台 if (result != "true") { if(getPlatform() == "ios" && isApp()) { result = "true"; }else { result = "false"; } } //写入cookie e.setCookie('isiPhoneApp', result, getDomain()); return result == "true" ? true : false; }(); //当前是否在壳子中运行 isRunByApp =()=》 { return isAndroidApp() || e.isiPhoneApp(); }(); /** * 是否运行在APP中 */ function isApp() { var result = true; var userAgent = window.navigator.userAgent; //浏览器 if(userAgent.indexOf('Safari') >= 0) { result = false; } if(result) { //微信 if(userAgent.indexOf('MicroMessenger') >= 0) { result = false; } } if(result) { //QQ if(userAgent.indexOf('QQ') >= 0) { result = false; } } if(result) { //支付宝 if(userAgent.indexOf('AliApp') >= 0) { result = false; } } if(result) { //微博 if(ua.indexOf("Weibo") >= 0 && ua.indexOf("_weibo_") >= 0) { result = false; } } return result; } /** * 毫秒值转具体时间 * @param {Object} date */ formatDateTime = (date)=> { var y = date.getFullYear(); var m = date.getMonth() + 1; m = m < 10 ? ('0' + m) : m; var d = date.getDate(); d = d < 10 ? ('0' + d) : d; var h = date.getHours(); var minute = date.getMinutes(); var seconds = date.getSeconds(); minute = minute < 10 ? ('0' + minute) : minute; return y + '-' + m + '-' + d+' '+h+':'+minute; }; formatDateTimeNew = (str)=> { if(!str) return; var date = new Date(str); var y = date.getFullYear(); var m = date.getMonth() + 1; m = m < 10 ? ('0' + m) : m; var d = date.getDate(); d = d < 10 ? ('0' + d) : d; return y + '-' + m + '-' + d; }; /** * 获取当前时间 */ getCurrentTime =()=> { var date = new Date(); var seperator1 = "-"; var seperator2 = ":"; var month = date.getMonth() + 1; var strDate = date.getDate(); if (month >= 1 && month <= 9) { month = "0" + month; } if (strDate >= 0 && strDate <= 9) { strDate = "0" + strDate; } var currentdate = date.getFullYear() + seperator1 + month + seperator1 + strDate + " " + date.getHours() + seperator2 + date.getMinutes(); return currentdate; } //判断浏览器 isWeixin =()=>{ //判断是否是微信 var ua = navigator.userAgent.toLowerCase(); if(ua.match(/MicroMessenger/i) == "micromessenger") { return true; } else { return false; } } //获取当前域名 function getDomain() { if (/^\d/.test(document.domain)) { return document.domain; } else if (/^[a-z]/i.test(document.domain)) { return document.domain.substring(document.domain.indexOf(".")); } return document.domain; } ```
转载请注明原文地址: https://www.6miu.com/read-2622526.html

最新回复(0)