我正在努力提供对我的网站的高级访问权限。这样做时,我想要设置 localStorage
的登录名项目为 1 将在一个月后过期并被删除。我在网上搜索,但很困惑,因为我仍在学习 JavaScript 和 jQuery。你能帮我设置 localStorage
的过期时间吗?元素?这是设置 localStorage
的代码行:
localStorage.setItem('ispremium', '1');
我的网站位于 Blogger 平台上,如果这很重要的话!
最佳答案
您可以将实际值设置为用户首次加入的时间和过期时间。每当用户再次打开网站时,您都需要检查该到期日期。但这是非常不安全的,你不应该在 session 中这样做。为了回答您的问题,您可以执行以下操作:
const NAMESPACE = 'MY_ID';
const TIMESTAMP_MODEL = {
initial: null,
expiresOn: null
};
const TIMESTAMP = Date.now();
if (!JSON.parse(localStorage.getItem(NAMESPACE))) {
// when the user access your website for the first time, set the initial and expiresOn values:
localStorage.setItem(NAMESPACE, JSON.stringify({
initial: TIMESTAMP,
expiresOn: TIMESTAMP + 1000*60*60*24*30 // 1month in ms
}));
} else {
// then, when user access the website again, check the expiresOn, it it's value is bigger than current date
const EXPIRE_DATE = JSON.parse(localStorage.getItem(NAMESPACE)).expiresOn;
if (Date.now() > EXPIRE_DATE) {
console.log('session expired');
}
}
关于javascript - 如何在 Javascript 中设置 localStorage 项目的过期日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71020505/