一,获取客户端状态
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就可以了。