所以我做了简单的JS函数,比如
function writeCookie()
{
var the_cookie = "users_resolution="+ screen.width +"x"+ screen.height;
document.cookie=the_cookie
}
如何确保设置用户分辨率?
答案 0 :(得分:4)
您可以编写如下函数:
function getCookie(cName) {
var cVal = document.cookie.match('(?:^|;) ?' + cName + '=([^;]*)(?:;|$)');
if (!cVal) {
return "";
} else {
return cVal[1];
}
}
然后,在设置完cookie后,您可以调用getCookie()
并测试它的返回值(如果它等于空字符串)或""
,即false
,然后cookie不存在。否则你有一个有效的cookie值。
以上段落代码:
var cookie = getCookie("users_resolution");
if (!cookie) {
// cookie doesn't exist
} else {
// cookie exists
}
答案 1 :(得分:3)
如果你这样做
var cookies = document.cookie;
然后字符串cookies
将包含以分号分隔的cookie名称 - 值对列表。您可以在";"
上拆分字符串并循环显示结果,检查您的Cookie名称是否存在。
答案 2 :(得分:1)
我知道您没有将此标记为jQuery,但我创建了jQuery plugin to handle cookies,这是读取Cookie值的代码段:
/**
* RegExp Breakdown:
* search from the beginning or last semicolon: (^|;)
* skip variable number of spaces (escape backslash in string): \\s*
* find the name of the cookie: name
* skip spaces around equals sign: \\s*=\\s*
* select all non-semicolon characters: ([^;]*)
* select next semicolon or end of string: (;|$)
*/
var regex = new RegExp( '(^|;)\\s*'+name+'\\s*=\\s*([^;]*)(;|$)' );
var m = document.cookie.match( regex );
// if there was a match, match[2] is the value
// otherwise the cookie is null ?undefined?
val = m ? m[2] : null;
答案 3 :(得分:0)
您可能希望使用indexOf
来检查它是否存在:
if(document.cookie.indexOf('users_resolution=') > 0){
// cookie was set
}