Javascript 年龄验证弹出窗口,仅显示一次

Javascript 年龄验证弹出窗口,仅显示一次,javascript,css,html,Javascript,Css,Html,所以我在网页上有一个年龄验证弹出窗口,这个弹出窗口会显示在你登陆的任何网页上。我遇到的问题是我不知道如何只在用户首页上显示它。我已经研究过使用cookies来实现这一点,但是我还没有弄清楚如何适应我现有的代码。如果可能的话,我需要一个不需要插件的解决方案。 先谢谢你 <script type="text/javascript" src="https://code.jquery.com/jquery-1.8.2.js"></script> <style type="t

所以我在网页上有一个年龄验证弹出窗口,这个弹出窗口会显示在你登陆的任何网页上。我遇到的问题是我不知道如何只在用户首页上显示它。我已经研究过使用cookies来实现这一点,但是我还没有弄清楚如何适应我现有的代码。如果可能的话,我需要一个不需要插件的解决方案。 先谢谢你

<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>

#覆盖层{
位置:固定;
排名:0;
左:0;
宽度:100%;
身高:100%;
背景色:#000;
过滤器:α(不透明度=70);
-moz不透明度:0.7;
-khtml不透明度:0.7;
不透明度:0.7;
z指数:100;
显示:无;
}
.223 a{
文字装饰:无;
}
.弹出窗口{
宽度:100%;
保证金:0自动;
显示:无;
位置:固定;
z指数:101;
}
.223{
最小宽度:600px;
宽度:600px;
最小高度:150px;
保证金:100像素自动;
背景:#f3;
位置:相对位置;
z指数:103;
填充:15px 35px;
边界半径:5px;
盒影:0 2px 5px#000;
}
.223页{
明确:两者皆有;
颜色:#555555;
/*文本对齐:对齐*/
字体大小:20px;
字体系列:无衬线;
}
.223便士{
颜色:#d91900;
字体大小:粗体;
}
.cnt223.x{
浮动:对;
高度:35px;
左:22px;
位置:相对位置;
顶部:-25px;
宽度:34px;
}
.cnt223.x:悬停{
光标:指针;
}
$(函数(){
var overlay=$('');
overlay.show();
overlay.appendTo(document.body);
$('.popup').show();
$('.close')。单击(函数(){
$('.popup').hide();
appendTo(document.body).remove();
返回false;
});
$('.x')。单击(函数(){
$('.popup').hide();
appendTo(document.body).remove();
返回false;
});
});
函数goBack(){
window.history.go(-2);
}
重要通知

您必须年满18岁才能在此网站上购买产品!



使用cookies是正确的方法。 您可以使用例如
document.cookie=“verified=true”来设置一个简单的cookie

在每一页的开头,检查cookie是否存在,以及是否
document.cookie==“verified=true”


请注意,使用JavaScript进行的任何访问限制都可以轻松绕过。

使用cookies是正确的方法。 您可以使用例如
document.cookie=“verified=true”来设置一个简单的cookie

在每一页的开头,检查cookie是否存在,以及是否
document.cookie==“verified=true”


请注意,使用JavaScript执行的任何访问限制都可以轻松绕过。

我建议您使用cookies,但您也可以使用以下任一选项:

两者完全相同,但在浏览器中存储的时间不同。 因此,您可以存储如下内容:

sessionStorage.setItem("ageverified", "yes");
var ageverified = sessionStorage.getItem("ageverified");
要在显示覆盖之前检查该值,可以获得如下值:

sessionStorage.setItem("ageverified", "yes");
var ageverified = sessionStorage.getItem("ageverified");

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

我建议您使用cookies,但您也可以使用以下任何一种:

两者完全相同,但在浏览器中存储的时间不同。 因此,您可以存储如下内容:

sessionStorage.setItem("ageverified", "yes");
var ageverified = sessionStorage.getItem("ageverified");
要在显示覆盖之前检查该值,可以获得如下值:

sessionStorage.setItem("ageverified", "yes");
var ageverified = sessionStorage.getItem("ageverified");

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

在页面加载中放置cookie,并在所有页面上检查cookie是否已经存在。如果已设置cookie,则跳过弹出窗口

JSFiddle:

将javascript替换为以下签名代码:

function setCookie(cname, cvalue, exdays) {
    var d = new Date();
    d.setTime(d.getTime() + (exdays * 24 * 60 * 60 * 1000));
    var expires = "expires="+d.toUTCString();
    document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/";
}

function getCookie(cname) {
    var name = cname + "=";
    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);
        }
        if (c.indexOf(name) == 0) {
            return c.substring(name.length, c.length);
        }
    }
    return "";
}
$(function(){
var cookie = getCookie("agepopshown");
if(cookie ===1)
{
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;
});
}
setCookie("agepopshown", 1,  365 );

});

function goBack() {
    window.history.go(-2);
}
函数setCookie(cname、cvalue、exdays){
var d=新日期();
d、 设置时间(d.getTime()+(exdays*24*60*60*1000));
var expires=“expires=“+d.toutString();
document.cookie=cname+“=”+cvalue+”;“+expires+”;path=/”;
}
函数getCookie(cname){
变量名称=cname+“=”;
var ca=document.cookie.split(“;”);
对于(变量i=0;i
在页面加载中放置cookie,并在所有页面上检查cookie是否已存在。如果已设置cookie,则跳过弹出窗口

JSFiddle:

将javascript替换为以下签名代码:

function setCookie(cname, cvalue, exdays) {
    var d = new Date();
    d.setTime(d.getTime() + (exdays * 24 * 60 * 60 * 1000));
    var expires = "expires="+d.toUTCString();
    document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/";
}

function getCookie(cname) {
    var name = cname + "=";
    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);
        }
        if (c.indexOf(name) == 0) {
            return c.substring(name.length, c.length);
        }
    }
    return "";
}
$(function(){
var cookie = getCookie("agepopshown");
if(cookie ===1)
{
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;
});
}
setCookie("agepopshown", 1,  365 );

});

function goBack() {
    window.history.go(-2);
}
函数setCookie(cname、cvalue、exdays){
var d=新日期();
d、 设置时间(d.getTime()+(exdays*24*60*60*1000));
var expires=“expires=“+d.toutString();
document.cookie=cname+“=”+cvalue+”;“+expires+”;path=/”;
}
函数getCookie(cname){
变量名称=cname+“=”;
var ca=document.cookie.split(“;”);
对于(变量i=0;i
谢谢您的支持