js判断浏览器是否支持cookie的方法
墨初 Web前端 652阅读
有的用户的浏览器因为安全考虑屏蔽掉了cookie,但如果我们网站的功能需要cookie来支持,而用户的浏览器又屏蔽了cookie该如何办呢?我们只需要判断一个用户的浏览器是否支持cookie,如果不支持就屏蔽掉网站的cookie的功能或提示用户打开浏览器的cookie功能即可,下面博文就说一说如何判断浏览器是否支持cookie的方法。
检测浏览器是否支持cookie方法
方法1:
使用 navigator 对象的 cookieEnabled 属性来判断浏览器是否支持cookie,如果支持返回 TRUE,不支持返回 FALSE。
注:navigator 对象支持几乎所有的浏览器!
例:
// 73so.com if(window.navigator.cookieEnabled){ console.log("浏览器支持cookie"); }else{ console.log("此浏览器不支持cookie使用,请更换其它浏览器!"); }
方法2:
通过设置cookie以及读取cookie的方法,判断浏览器是否支持cookie。
例:自定义cookie设置,读取,删除的函数
/** * @name 设置cookie * @param name cookie名 * @param value cookie值 * * @host 73so.com */ function SetCookie(name,value) { var Days = 30; // cookie 保存期限,这里是以天为单位 var exp = new Date(); exp.setTime(exp.getTime() + Days*24*60*60*1000); document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString(); } /** * @name 读取指定的cookie * @param name 读取的cookie名称 */ function getCookie(name) { var arr = document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)")); if(arr != null) return unescape(arr[2]); return null; } /** * @name 删除cookie * @param name 需要删除的cookie值 */ function delCookie(name) { var exp = new Date(); exp.setTime(exp.getTime() - 1); var cval=getCookie(name); if(cval!=null) document.cookie= name + "="+cval+";expires="+exp.toGMTString(); }
# 通过上面的自定义函数,判断浏览器是否支持cookie
SetCookie('cookie_test','1'); var cookie_test = getCookie('cookie_test'); if( '1' != cookie_test) { console.log('浏览器不支持COOKIE'); }else{ console.log('浏览器支持COOKIE'); }