前端公用方法总结

182 阅读1分钟
  1. common.js

    //地址栏参数解析成json对象
     export function getRequest() {  //获取url的参数  var url = location.search; //获取url中"?"符后的字串     var theRequest = new Object();     if (url.indexOf("?") != -1) {        var str = url.substr(1);        var strs = str.split("&");        for(var i = 0; i < strs.length; i ++) {           theRequest[strs[i].split("=")[0]]=unescape(strs[i].split("=")[1]);        }     }     return theRequest;  },
    //获取地址栏具体的key键的值
    export function getUrlKey(name) {    return decodeURIComponent((new RegExp('[?|&]' + name + '=' + '([^&;]+?)(&|#|;|$)').exec(location.href) || [""])[1].replace(/\+/g, '%20')) || null}
    /**
     * 复制内容到粘贴板
     * content : 需要复制的内容
     * message : 复制完后的提示,不传则默认提示"复制成功"
     */
    //一键复制到剪贴板
    export function copyToClip(content, message) {
        var aux = document.createElement("input"); 
        aux.setAttribute("value", content); 
        document.body.appendChild(aux); 
        aux.select();
        document.execCommand("copy"); 
        document.body.removeChild(aux);
        if (message == null) {
            alert("复制成功");
        } else{
            alert(message);
        }
    }
    ////html剔除富文本标签,留下纯文本export function getSimpleText(html){    var re1 = new RegExp("<.+?>","g");//匹配html标签的正则表达式,"g"是搜索匹配多个符合的内容    var msg = html.replace(re1,'');//执行替换成空字符    return msg;    }// 判断环境是否在微信小程序里export function isMiniProgram(){    var ua = navigator.userAgent.toLowerCase();    var envType='#';    if(ua.match(/MicroMessenger/i) == 'micromessenger'){ //微信环境        wx.miniProgram.getEnv(function(res) {            if (res.miniprogram) { // 小程序环境下逻辑                envType = 1            }else { //非小程序环境下逻辑                envType =  2            }        })    }else{ //非微信环境逻辑        envType = 3    }    return envType}
     //进行深拷贝
      export function deepClone(data){          //判断拷贝的要进行深拷贝的是数组还是对象,是数组的话进行数组拷贝,对象的话进行对象拷贝          var objClone = Array.isArray(data) ? [] : {};          for(let key in data){              let item=data[key]              if(Object.prototype.toString.call(item)=='[object Object]'){                  objClone[key]=copydeep(item)              }else if(Object.prototype.toString.call(item)=='[object Array]'){                  objClone[key]=copydeep(item)              }else{                objClone[key]=item              }          }          return objClone     }
    //判断是否在ios或者安卓端export function isIosAndr(){    let type=navigator.userAgent.toLowerCase()    // if(type.match(/MicroMessenger/i)=="micromessenger") {    //     //ios的ua中无miniProgram,但都有MicroMessenger(表示是微信浏览器)    //     wx.miniProgram.getEnv((res)=>{    //        if (res.miniprogram) {    //            alert("在小程序里");    //        } else {    //            alert("不在小程序里");    //        }    //     })    // }else{    //     alert('不在微信里');    // }    if(type.match(/MicroMessenger/i)=="micromessenger") {//网页或者微信        return false;    }    return /(iphone|ipad|ipod|ios)/i.test(type)||/(android)/i.test(type) //app端}