javascript - 如果页面刷新/重新加载,提示仅触发一次并存储值
问题描述
我的页面上有一个提示,询问用户的年龄。如果超过 18 岁,则允许用户访问主页,否则,他们将被重定向到另一个网站。
问题是如果我进入另一个页面然后返回主页,提示会再次触发,再次询问用户的年龄。
有什么方法可以存储第一次输入的值,防止再次触发提示?
这是我的代码:
Javascript:
var ageCheck = prompt("How old are you?")
if (ageCheck >= 18) {
alert("Welcome to Ginspiration!");
}
else {
alert("You must be at least 18 years old to be allowed on this website. You will be redirected.")
window.location.href="https://www.drinkaware.co.uk/advice/underage-drinking";
}
谢谢!
解决方案
一种方法是使用localStorage
. 它将您的数据直接存储到您的浏览器中。
举个例子:
localStorage.setItem('myCat', 'Mimi');
console.log(localStorage.getItem('myCat'));
如果我得到您的代码,它将如下所示:
// Get the age from local storage
const ageCheck = localStorage.getItem("age");
if(!ageCheck){
// If ageCheck is null then we prompt "How old are you?" and set the item
const age = prompt("How old are you?")
localStorage.setItem("age", age);
} else {
// Else we check the age
if (ageCheck >= 18) {
alert("Welcome to Ginspiration!");
}
else {
alert("You must be at least 18 years old to be allowed on this website. You will be redirected.")
window.location.href="https://www.drinkaware.co.uk/advice/underage-drinking";
}
}
推荐阅读
- c# - 如何使用背后代码(MVVM)中的 SearchBar 过滤 ListView
- perl - 在 Perl 中,如何访问在另一个包中定义的变量
- java - 在java中将对象转换为接口并返回
- python - 为什么 concurrent.futures 的 submit() 不立即将控制权返回给主程序?
- python - 如何在python中的变量中创建和存储以下内容?
- sml - 检查字符串是否包含 SML 中的帕斯卡整数
- sql - 单个分隔列上的 T-SQL `FOR JSON`
- google-apps-script - 如何在 Google Scripts 的电子邮件中发送表格?
- delphi - 使用 Indy10 和 iDTCPServer 和 idTCPClient 丢失数据
- html - 如何垂直添加帖子而不互相替换