• js 使用技巧


    一,获取客户端状态

    1、获取cookie

    function cookieInfo() {
        setcookie('cookie_test','1');
        var cookie_test = getcookie('cookie_test');
        if( '1' != cookie_test)
        {
            return '关闭';
        }else
        {
            return '开启';
        }
    }
    
    
    
    
    function setcookie(name,value)//两个参数,一个是cookie的名子,一个是值
    {
       var exp = new Date();
       exp.setTime(exp.getTime() + 10*1000);
       document.cookie = name + "="+ escape(value) + ";expires=" + exp.toGMTString();
    }
    function getcookie(name)//取cookies函数
    {
       var arr = document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));
       if(arr != null) return unescape(arr[2]); return null;
    
    }
    

      

      

      

    2、获取操作系统

    function osInfo() {
    
        var sUserAgent = navigator.userAgent;
    
        var isWin = (navigator.platform === "Win32") || (navigator.platform === "Windows");
        var isMac = (navigator.platform === "Mac68K") || (navigator.platform === "MacPPC") || (navigator.platform === "Macintosh") || (navigator.platform === "MacIntel");
        var bIsIpad = sUserAgent.match("iPad");
        var bIsIphoneOs = sUserAgent.match("iPhone");
        var isUnix = (navigator.platform === "X11") && !isWin && !isMac;
        var isLinux = (String(navigator.platform).indexOf("Linux") > -1);
        var bIsAndroid = sUserAgent.match("Android");
        var bIsCE = sUserAgent.match("Windows CE") || sUserAgent.match("WinCE") || sUserAgent.match("WindowsCE");
        var bIsWM = sUserAgent.match("Windows Mobile");
        var bIsWP = sUserAgent.match("Windows Phone OS");
        if (bIsIpad || bIsIphoneOs)
            return 'IOS';
    
        if (isMac)
            return "Mac";
        if (isUnix)
            return "Unix";
        if (isLinux) {
            if (bIsAndroid)
                return "Android";
            else
                return "Linux";
        }
        if (bIsCE)
            return 'Windows CE';
        if (bIsWM)
            return 'Windows Mobile';
        if (bIsWP)
            return 'Windows Phone';
    
        if (sUserAgent.match("BlackBerry"))
            return "BlackBerry OS";
        if (sUserAgent.match("RIM Tablet OS"))
            return "BlackBerry Tablet OS";
        if (sUserAgent.match("(?:web|hpw)OS"))
            return "webOS";
        if (sUserAgent.match("SymbianOS/9.1") || sUserAgent.match("Series[ ]?60") || sUserAgent.match("S60"))
            return "Series60";
    
        if (isWin) {
            var isWin2K = sUserAgent.indexOf("Windows NT 5.0") > -1 || sUserAgent.indexOf("Windows 2000") > -1;
            if (isWin2K)
                return "Win2000";
            var isWinXP = sUserAgent.indexOf("Windows NT 5.1") > -1 ||
                sUserAgent.indexOf("Windows XP") > -1;
            if (isWinXP)
                return "WinXP";
            var isWin2003 = sUserAgent.indexOf("Windows NT 5.2") > -1 || sUserAgent.indexOf("Windows 2003") > -1;
            if (isWin2003)
                return "Win2003";
            var isWinVista = sUserAgent.indexOf("Windows NT 6.0") > -1 || sUserAgent.indexOf("Windows Vista") > -1;
            if (isWinVista)
                return "WinVista";
            var isWin7 = sUserAgent.indexOf("Windows NT 6.1") > -1 || sUserAgent.indexOf("Windows 7") > -1;
            if (isWin7)
                return "Win7";
            var isWin8 = sUserAgent.indexOf("Windows NT 6.2") > -1 || sUserAgent.indexOf("Windows 8") > -1;
            if (isWin8)
                return "Win8";
        }
        return "other";
        }
    

      

    3、获取flash状态

     function getFlashVersion() {
        var flashVer = NaN;
        var ua = navigator.userAgent;
    
        if (window.ActiveXObject) {
            var swf = new ActiveXObject('ShockwaveFlash.ShockwaveFlash');
    
            if (swf) {
                flashVer = Number(swf.GetVariable('$version').split(' ')[1].replace(/,/g, '.').replace(/^(d+.d+).*$/, "$1"));
            }
        } else {
            if (navigator.plugins && navigator.plugins.length > 0) {
                var swf = navigator.plugins['Shockwave Flash'];
    
                if (swf) {
                    var arr = swf.description.split(' ');
                    for (var i = 0, len = arr.length; i < len; i++) {
                        var ver = Number(arr[i]);
    
                        if (!isNaN(ver)) {
                            flashVer = arr[i];
                            break;
                        }
                    }
                }
            }
        }
        if (!isNaN(flashVer)) {
            return flashVer;
        } else {
            return '未安装';
        }
    }
    

    4、获取浏览器版本

    function  getBrowser(){
    //获取用户浏览器
        var W = window,B = {};
        var agent = navigator.userAgent;
    	if (W.ActiveXObject) {
    	 	B.name = 'ie';
            B.ver = 9 - (agent.indexOf("Trident/5.0") == -1) - (!W.XDomainRequest) - (!W.XMLHttpRequest);
        } else {
            if (document.getBoxObjectFor || W.mozInnerScreenX != undefined) {
            	B.name = 'firefox';
                B.ver= (m = /(?:Firefox|GranParadiso|Iceweasel|Minefield).(d+.d+)/i.exec(agent)) ? parseFloat(m[1], 10) : 3.3
            } else {
    
                if (!navigator.taintEnabled) {
                    m = /AppleWebKit.(d+.d+)/i.exec(agent);
                    B.name = 'webkit';
                    B.ver = m ? parseFloat(m[1], 10) : document.evaluate ? (document.querySelector ? 525 : 420) : 419;
                    if ((m = /Chrome.(d+.d+)/i.exec(agent)) || W.chrome) {
        				B.name = 'chrome';
                        B.ver = m ? parseFloat(m[1], 10) : 2
                    } else {
                        if ((m = /Version.(d+.d+)/i.exec(agent)) || W.safariHandler) {
                        	B.name = 'safari';
                            B.ver = m ? parseFloat(m[1], 10) : 3.3
                        }
                    }
                } else {
                    if (W.opera) {
                    	B.name = 'opera';
                        B.ver = parseFloat(navigator.appVersion, 10)
                    } else {
                    	B.name = 'ie';
                        B.ver = 6
                    }
                }
            }
    	}
    	return  B.name + ':'+B.ver;
    }
    

      

    5、本地存储

    function localStorageInfo() {
        try {
            if ('localStorage' in window && window['localStorage'] !== null) {
                return "开启";
            }
            return "关闭";
        } catch (e) {
            return "关闭";
        }
    }
    

      


    二,js 用法心得

     1,setTimeout

    setTimeout(function () {
        },1000);

    定时器,1秒钟后执行,这个函数是不阻塞的,代码该往下执行就执行,不会到他这里停滞1秒,所以这个方法不适合做和sleep类似的功能。

    2,new Image

          var img = new Image();
            img.src = new_src;
            img.id = num;
            img.className = "hide";

    下面这个方法是用 new 的方法增加一个监听器,就比如说 onerror ,onclick,onload,之类的方法都需要这么做

    img.addEventListener(
    "error", function (event) { console.log($(ths)); var x = $(event.target).attr('id'); // var x = $(img).attr('id'); console.log(x,"xxxxxxxxxxxxx") });

    event 是当前这个标签得到对象,如果想获取当前这个对象的内容使用event就可以了。

      

  • 相关阅读:
    HTTP 501 错误 – 未实现 (Not implemented) 或者是 Failure: Address already in use
    HTTP 400 Bad request 原因
    树莓派 NAS aria2 下载磁力链接无速度
    踩坑备忘之“yarn : 无法加载文件 C:\Users\siazon\AppData\Roaming\npm\yarn.ps1,因为在此系统上禁止运行脚本。"
    架构小试之IDL
    服务端基本概念和指标
    git常用命令
    mysql20211116
    blog JavaJinguo
    android 分享功能
  • 原文地址:https://www.cnblogs.com/python-way/p/7110073.html
Copyright © 2020-2023  润新知