javascript - 年龄验证弹出窗口仅显示一次

标签 javascript css html

所以我在网页上弹出了年龄验证,弹出窗口将显示在您登陆的任何网页上。我遇到的问题是我不知道如何只在用户首页上显示它。我已经研究过使用 cookie 来实现这一点,但我一直无法理解如何调整我现有的代码。我需要一个尽可能不需要插件的解决方案。 提前谢谢你。

<script type="text/javascript" src="https://code.jquery.com/jquery-1.8.2.js"></script>
<style type="text/css">
#overlay {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: #000;
filter:alpha(opacity=70);
-moz-opacity:0.7;
-khtml-opacity: 0.7;
opacity: 0.7;
z-index: 100;
display: none;
}
.cnt223 a{
text-decoration: none;
}
.popup{
width: 100%;
margin: 0 auto;
display: none;
position: fixed;
z-index: 101;
}
.cnt223{
min-width: 600px;
width: 600px;
min-height: 150px;
margin: 100px auto;
background: #f3f3f3;
position: relative;
z-index: 103;
padding: 15px 35px;
border-radius: 5px;
box-shadow: 0 2px 5px #000;
}
.cnt223 p{
clear: both;
    color: #555555;
    /* text-align: justify; */
    font-size: 20px;
    font-family: sans-serif;
}
.cnt223 p a{
color: #d91900;
font-weight: bold;
}
.cnt223 .x{
float: right;
height: 35px;
left: 22px;
position: relative;
top: -25px;
width: 34px;
}
.cnt223 .x:hover{
cursor: pointer;
}
</style>
<script type='text/javascript'>
$(function(){
var overlay = $('<div id="overlay"></div>');
overlay.show();
overlay.appendTo(document.body);
$('.popup').show();
$('.close').click(function(){
$('.popup').hide();
overlay.appendTo(document.body).remove();
return false;
});




$('.x').click(function(){
$('.popup').hide();
overlay.appendTo(document.body).remove();
return false;
});
});
</script>
<script>
function goBack() {
    window.history.go(-2);
}
</script>
<div class='popup'>
<div class='cnt223'>
<h1>Important Notice</h1>
<p>
You must be over 18 to Purchase products on this website!
<br/>
<br/>
<a href='' class='close' style="color:green">I Am Over 18</a>
<a href='' class='goBack()' style="color:red">I Am Not</a>
</p>
</div>
</div>

最佳答案

我建议为此使用 cookie,但您也可以选择:

LocalStorageSessionStorage

两者完全相同,但在浏览器中存储的时间长短不同。 所以你可以存储这样的东西:

sessionStorage.setItem("ageverified", "yes");

要在显示叠加层之前检查值,您可以这样获取值:

var ageverified = sessionStorage.getItem("ageverified");

当然,您的年龄验证应该在服务器端完成。

关于javascript - 年龄验证弹出窗口仅显示一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52328871/

相关文章:

javascript - GET 在 POST 不工作的地方工作正常 XMLHttpRequest

html - 使用 Bootstrap,如何根据断点将 div 放在不同的行中?

html - rendersubtree 不可见 vs 隐藏或不显示

Javascript变量--变量后加()是什么意思?

javascript - 在 Vue.js 中处理 JSON 文件后无效的 JSON 字符

javascript - 通过 Controller 加载图像问题

html - 如何使div 内的图像始终为div 的大小?

javascript - 删除 div 之间的垂直空白,尤其是在遇到断点之后

php - 文件字段值显示错误

html - 背景图片将填满2个div