hi,欢迎访问本站!
当前位置: 首页Web前端正文

js判断浏览器是否支持cookie的方法

墨初 Web前端 679阅读

有的用户的浏览器因为安全考虑屏蔽掉了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'); 
}
声明:无特别说明,转载请标明本文来源!
相关推荐