我想向我网站上特定页面的首次访问者显示一条消息。该消息只需要出现一次。
使用 cookie 会很简单,但使用 HTML5 localStorage 有更多好处吗?如果是这样,它将如何实施?
我想向我网站上特定页面的首次访问者显示一条消息。该消息只需要出现一次。
使用 cookie 会很简单,但使用 HTML5 localStorage 有更多好处吗?如果是这样,它将如何实施?
根据您的描述,仅使用 cookie 几乎更容易且更不容易出错。并非所有浏览器都具有相同的 HTML localStorage 实现,尤其是 IE 7+8。但是,它们都使用 cookie,并且不会出现跨浏览器兼容性问题。
查看此 SO 以获取更多信息:本地存储、会话存储、Web 存储、Web 数据库和 HTML5 中的 cookie
展望未来,考虑到 OP 和浏览器都在发生巨大变化,现在越来越多的浏览器必须支持 HTML5,我会考虑 localStorage
即兴发挥,我可能会推荐 cookie,但这取决于您的用户使用的浏览器以及您希望如何呈现您的消息。
Cookie 更适合更广泛的受众,因为所有浏览器都支持它们。IE 6 和 7 等较旧的浏览器不支持本地存储。Cookies 也可以在服务器端进行操作。因此,如果您要显示的消息是在服务器端呈现的,那么 cookie 可能是一个更好的选择。
本地存储更容易通过 JavaScript 访问,但使用它并没有太多优势。
localstorage 将在用户计算机上保存最多 5 MB 的数据,唯一不好的是存储永远存在,如果您需要过期,则需要这样做,cookie 会自动处理。
使用本地存储的示例:
var 访问 = parseInt(localStorage["numVisits"]);
var el = document.getElementById("cookieData");
if (isNaN(visits)) {
visits = 1;
el.innerHTML = "Welcome to the site!";
} else {
visits += 1;
el.innerHTML = "Welcome back! You've been here " + visits + " times.";
}
localStorage["numVisits"] = visits;