只使用Javascript,有人可以创建一个使用" XY"的html文件。用户第一次访问它时的HTML代码,但它应该使用" ZQ" (这是一个完全不同的)第一次访问后的HTML代码?所以在同一用户的第二次,第三次等访问中。可能有很多用户。
问题:该html文件会是什么样子?怎么做?是否可以只使用javascript?
答案 0 :(得分:1)
您可以使用Cookie或LocalStorage
,LocalStorage
更容易实施,但需要最新的浏览器,用户可能出于隐私原因禁用Cookie。
<强>缓存强>
function setCookie(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 getCookie(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;
}
// First Visit
if (getCookie("visited") == null) {
// XY code.
alert("XY Code here");
// set the cookie
setCookie("visited", "yes", 10);
} else {
// subsequent visit.
// ZQ code.
alert("ZQ Code here");
}
<强> localStorage的强>
if (typeof(Storage) !== "undefined") {
if (localStorage.getItem("visited") == "yes") {
// subsequent visit.
// ZQ code.
alert("ZQ Code here");
} else {
// XY code.
alert("XY Code here");
// set the cookie
localStorage.setItem("visited", "yes");
}
} else {
// Sorry! No Web Storage support..
// Use the above cookie method.
}