常用js轮子

2 篇文章 0 订阅
// 低版本浏览器
var browser = lowerBrowser();
if (browser == '9' || browser == '8' || browser == '7' || browser == '6') {
    console.log('inner');
    window.location.href = domain_url + "browser.html";
}
//接口返回的数据统一处理
function RequestFailProcess(res){
    console.log(res);
    if (res.state==-1) {
        weui.alert(res.message, function(){ 
            var login_mess=JSON.parse(sessionStorage.getItem('login_mess'));
            if(login_mess&&login_mess.user_type==1){
                 window.location.href = get_admin_login_url();
            }else{
                 window.location.href = get_login_url();
            }
        });
    }else{
        weui.alert(res.message);
    }
}
//图片懒加载
function imgLazyLoading(){
    imgLazyLoad();//初始化
    $(document).scroll(imgLazyLoad); //当滚动条滚动时,扫描需要加载的div
    //扫描需要加载的div
    function imgLazyLoad() {
        $.each($("body img.lazy"), function (i, o) {
            //获取窗口高度
            var windowHeight = $(window).height();  //  windowHeight = windowHeight/2; 设置滚动条在显示屏幕高度2分之1的时候加载图片
            //获取滚动条
            var scrollTop = $(document).scrollTop();
            //先判断是否是加载完的图片 跳出
            if ($(o).attr("src") == $(o).attr("data-original")) {
                return true;
            } else if ($(o).offset().top <= (scrollTop + windowHeight) && $(o).offset().top >= scrollTop) {//判断div是不是出在可见的位置
                if ($(o).attr("data-original") != undefined || $(o).attr("data-original") != "undefined") {
                    var ObjectSrc = $(o).attr("data-original");
                    //把pic的值赋给src值
                    $(o).attr("src", ObjectSrc);
                    //css属性改为可见
                    $(o).css("visibility", "visible");
                    //渐变时间和渐变值
                    $(o).fadeTo(1000, 1.00);
                }
            }
        });
    }
    setTimeout(function(){
        imgLazyLoad();
    },100)
}
//随机数
function randomString(length, chars) 
{
    var result = '';
    for (var i = length; i > 0; --i) result += chars[Math.floor(Math.random() * chars.length)];
    return result;
}
//获取当前日期
function getdate(){
    var myDate = new Date;
    var year = myDate.getFullYear(); //获取当前年
    var mon = myDate.getMonth() + 1; //获取当前月
    var date = myDate.getDate(); //获取当前日
    var sp='/';
    return year+sp+mon+sp+date+sp;
}
// 判断是不是pc端
function isPC(){
    var userAgentInfo = navigator.userAgent;
    var Agents = ["Android", "iPhone",
                "SymbianOS", "Windows Phone",
                "iPad", "iPod"];
    var flag = true;
    for (var v = 0; v < Agents.length; v++) {
        if (userAgentInfo.indexOf(Agents[v]) > 0) {
            flag = false;
            break;
        }
    }
    return flag;
}
//判断是否用微信浏览器加载网页
function isWeiXin(){
    var ua = window.navigator.userAgent.toLowerCase();
    if(ua.match(/MicroMessenger/i) == 'micromessenger'){
        return true;
    }else{
        return false;
    }
}
//获取cookie
function getCookie(c_name) {
    //判断document.cookie对象里面是否存有cookie
    if (document.cookie.length > 0) {
        var c_start = document.cookie.indexOf(c_name + "=")
            //如果document.cookie对象里面有cookie则查找是否有指定的cookie,如果有则返回指定的cookie值,如果没有则返回空字符串
        if (c_start != -1) {
            c_start = c_start + c_name.length + 1
            var c_end = document.cookie.indexOf(";", c_start)
            if (c_end == -1) c_end = document.cookie.length
            return unescape(document.cookie.substring(c_start, c_end))
        }
    }
    return ""
}
//设置cookie
function Setcookie(name, value) {
    //设置名称为name,值为value的Cookie
    var expdate = new Date(); //初始化时间
    expdate.setTime(expdate.getTime() + 30 * 24 * 60 * 60 * 1000); //时间单位毫秒
    document.cookie = name + "=" + value + ";expires=" + expdate.toGMTString() + ";path=/";

    //即document.cookie= name+"="+value+";path=/";  时间默认为当前会话可以不要,但路径要填写,因为JS的默认路径是当前页,如果不填,此cookie只在当前页面生效!
}
//删除cookie
function removeCookie(name,value){
    var expdate = new Date(); //初始化时间
    expdate.setTime(expdate.getTime() -2); //时间单位毫秒
    document.cookie = name + "=" + value + ";expires=" + expdate.toGMTString() + ";path=/";  
}
//判断是否是ie9及ie9以下的
function lowerBrowser(){
    var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串  
    var isIE = userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1; //判断是否IE<11浏览器  
    var isEdge = userAgent.indexOf("Edge") > -1 && !isIE; //判断是否IE的Edge浏览器  
    var isIE11 = userAgent.indexOf('Trident') > -1 && userAgent.indexOf("rv:11.0") > -1;
    if(isIE) {
        var reIE = new RegExp("MSIE (\\d+\\.\\d+);");
        reIE.test(userAgent);
        var fIEVersion = parseFloat(RegExp["$1"]);
        if(fIEVersion == 7) {
            return 7;
        } else if(fIEVersion == 8) {
            return 8;
        } else if(fIEVersion == 9) {
            return 9;
        } else if(fIEVersion == 10) {
            return 10;
        } else {
            return 6;//IE版本<=7
        }   
    } else if(isEdge) {
        return 'edge';//edge
    } else if(isIE11) {
        return 11; //IE11  
    }else{
        return -1;//不是ie浏览器
    }
}
//获取参数
function getQueryVariable(variable)//js获取地址栏参数
{
    var location = decodeURIComponent(window.location.search); 
    var query = location.substring(1);
    var vars = query.split("&");
    for (var i=0;i<vars.length;i++) {
            var pair = vars[i].split("=");
            if(pair[0] == variable){return pair[1];}
    }
    return(false);
}
//获取jssdk
function wxjsdk(token){
    var url = window.location.href;
    var data={token:token,url:url};
    $.ajax({
        url: 'xxx',
        type: "get",
        async:false,
        dataType: "JSON",
        xhrFields: {
            withCredentials: true
        },
        crossDomain: true,
        data:data,
        success: function (res) {
            if (res.state == 1) {
                config(res.data);
            }else{
                alert(res.message);
                //weui.topTips(res.message, 3000);
            }
            
        }
    })
}
// 配置api相关
function config(jsdk){
    console.log(jsdk);
    wx.config({
        beta: true,// 必须这么写,否则wx.invoke调用形式的jsapi会有问题
        debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
        appId: jsdk.appId, // 必填,企业微信的corpID
        timestamp:jsdk.timestamp, // 必填,生成签名的时间戳
        nonceStr:jsdk.nonceStr, // 必填,生成签名的随机串
        signature:jsdk.signature,// 必填,签名,见附录1
        jsApiList: [
            'chooseImage',
            'previewImage',
            'uploadImage',
            'downloadImage',
            'getLocalImgData'
        ] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2
    });
    wx.ready(function () {
        wx.checkJsApi({
            jsApiList: [
                'chooseImage',
                'previewImage',
                'uploadImage',
                'downloadImage',
                'getLocalImgData'
            ],
            success: function (res) {
                if (res.checkResult.getLocation == false) {
                    alert('你的微信版本太低,不支持微信JS接口,请升级到最新的微信版本!');
                    return;
                }else{
                    
                }
            }
        });
    });
    wx.error(function(res){
        // config信息验证失败会执行error函数,如签名过期导致验证失败,具体错误信息可以打开config的debug模式查看,也可以在返回的res参数中查看,对于SPA可以在这里更新签名。
        alert("验证失败,请重试!");
        //wx.closeWindow();
    });
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值