js判断浏览器是否支持cookie的方法
墨初 Web前端 1544阅读
有的用户的浏览器因为安全考虑屏蔽掉了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');
}