我试图找出它的用户是否第一次在我的网页上。我目前正在本地存储中存储一个变量并检查它是否为空,但它似乎在 Internet Explorer 中不起作用。我还可以使用什么其他方法来完成此操作?
var str_count = localStorage.getItem("count");
if (str_count == null || str_count == "null")
{
// Do something
}
我试图找出它的用户是否第一次在我的网页上。我目前正在本地存储中存储一个变量并检查它是否为空,但它似乎在 Internet Explorer 中不起作用。我还可以使用什么其他方法来完成此操作?
var str_count = localStorage.getItem("count");
if (str_count == null || str_count == "null")
{
// Do something
}
你可以设置一个cookie
document.cookie = name + "=" + value + "; expires=" + exp + "; path=/";
设置cookie
长过期日期肯定比使用更可靠,localStorage
因为旧浏览器尚不支持。
检查此代码:
function createCookie(name,value,days) {
if (days) {
var date = new Date();
date.setTime(date.getTime()+(days*24*60*60*1000));
var expires = "; expires="+date.toGMTString();
}
else var expires = "";
document.cookie = name+"="+value+expires+"; path=/";
}
function readCookie(name) {
var nameEQ = name + "=";
var ca = document.cookie.split(';');
for(var i=0;i < ca.length;i++) {
var c = ca[i];
while (c.charAt(0)==' ') c = c.substring(1,c.length);
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
}
return null;
}
function eraseCookie(name) {
createCookie(name,"",-1);
}
在此处阅读有关 cookie的更多信息。
正如@Greg 所说,更好的解决方案是设置和获取 cookie 值。这里有两个函数可以做到这一点:
setCookie = function(){
var args = arguments,
name = (args[0] ? args[0] : '') + '=',
_value = args[1] ? escape(args[1]) : '',
value = _value + ';',
expires = args[2] ? 'expires=' + args[2].toUTCString() + ';' : '',
path = args[3] ? 'path=' + args[3] + ';' : '',
domain = args[4] ? 'domain=' + args[4] + ';' : '',
secure = args[5] ? 'secure;' : '',
newCookie = name + value + expires + path + domain + secure;
document.cookie = newCookie.match(/[a-z||A-Z]/) ? newCookie : ''
return _value;
},
getCookie = function(name){
if(!name || name.replace(/[^a-z|0-9|çáéíóúãõâêîôûàèìòùäëïöü]/,'')=='*') return document.cookie;
var ck = ' ' + document.cookie + ' ',
pos = ck.search(' ' + name + '='),
pos = (pos!=-1) ? pos + 1 : ck.length,
ck = ck.substring(pos-1,ck.length),
end = (ck.search('; ')!=-1) ? ck.search('; ') : ck.length,
value = ck.substring(((ck.search('=')!=-1) ? (ck.search('=')+1) : end),end);
return unescape((value[value.length-1]==' ') ? value.substring(0,value.length-1) : value);
}
它们是跨浏览器功能。要使用getCookie
函数,只需使用name
参数,使用setCookie
函数,使用name,value,expires,path,domain,secure
参数