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就可以了。

 

 

 

 

  

posted @ 2017-07-03 10:59  wawahan  阅读(160)  评论(0编辑  收藏  举报