简体   繁体   English

不再显示此页面(JQUERY cookie)

[英]Don't show this page anymore (JQUERY cookie)

I'm trying to implement cookies for my website, i just wanted to redirect users to a splash page and have a "remember me" checkbox there and once they checked off that and pressed enter, they will not see that page anymore. 我正在尝试为我的网站实现cookie,我只想将用户重定向到初始页面,并在其中具有“记住我”复选框,一旦他们选中并按下Enter,他们将不再看到该页面。 So using COOKIE Plugin I can set a cookie for users and redirect them to the page, but I wasn't able to implement how to detect the remember me box.. 因此,使用COOKIE插件可以为用户设置Cookie并将其重定向到页面,但是我无法实现如何检测“记住我”框的功能。

$(function() {
    var COOKIE_NAME = 'splash-page-cookie';
    $go = $.cookie(COOKIE_NAME);
    if ($go == null) {
        $.cookie(COOKIE_NAME, 'test', { path: '/', expires: 6 });
        window.location = "/splash.php"
    }
    else {
    }
});

Anybody has done like this before? 有人做过这样的事吗? Or anybody have any similar idea to implement this? 还是有人有任何类似的想法来实现这一目标?

Any help would be appreciated. 任何帮助,将不胜感激。

Solution #1 (With alert boxes) : I came up with this but without the COOKIE Plugin. 解决方案1(带有警报框) :我想到了这个,但没有COOKIE插件。 Hopefully you can get some use out of this. 希望您可以从中获得一些用处。 Mostly Pure JS with some JQuery to fancy it up a little. 大多数情况下,纯JS和一些JQuery使它看起来更漂亮。

Here is the DEMO . 这是演示

Here's the code: 这是代码:

<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>Untitled Document</title>
<!-- JQuery -->
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>

<script>
$(document).ready(function(e) {
    $('#remember').click(function() {
        if (this.checked) {
            $('#x').text("You're the Best!");
            setCookie();
        } else {
            $('#x').text("Come on, You know you want to!");
        }
    });
});

function setCookie() {
   user = prompt("Please enter your name:","");
   if (user != "" && user != null) {
       addCookie("username", user, 30);
   }
}

function addCookie(cname,cvalue,exdays) {
    var d = new Date();
    d.setTime(d.getTime() + (exdays*24*60*60*1000));
    var expires = "expires=" + d.toGMTString();
    document.cookie = cname+"="+cvalue+"; "+expires;
    //window.location.href = "https://www.google.com"; // redirect after the prompt
}

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) != -1) {
            return c.substring(name.length, c.length);
        }
    }
    return "";
}

function checkCookie() {
    var user=getCookie("username");
    if (user != "") {
        alert("Welcome again " + user);
        window.location.href = "https://www.google.com";
    }
}
function goTo() {
    window.location.href = "https://www.google.com";
}
</script>
</head>
<body onLoad="checkCookie();">
<h1>Splash Page</h1>
<form>
<input type="checkbox" id="remember"> Remember me
<br>
<input type="button" value="Enter" onClick="goTo();">
</form>
<p><div id='x'></div></p>
</body>
</html>

Solution #2 (NO alert boxes) : I came up with this as a second simplified solution by request which is more compatible with mobile (Chrome, etc.). 解决方案2(无警告框) :我提出了此解决方案,它是第二种简化的解决方案,可以根据要求与移动设备(Chrome等)更兼容。 Hopefully you can get some use out of this. 希望您可以从中获得一些用处。 Mostly Pure JS with some JQuery to fancy it up a little. 大多数情况下,纯JS和一些JQuery使它看起来更漂亮。

Here is the DEMO . 这是演示

Here's the code: 这是代码:

<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>Untitled Document</title>
<!-- JQuery -->
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script>
$(document).ready(function(e) {
    $('#remember').click(function() {
        if (this.checked) {
            $('#x').text("You're the Best!!!");
            addCookie(30);
        } else {
            $('#x').text("Come on, You know you want to!");
            deleteAllCookies();
        }
    });
});

function deleteAllCookies() {
    var cookies = document.cookie.split(";");
    for (var i = 0; i < cookies.length; i++) {
        var cookie = cookies[i];
        var eqPos = cookie.indexOf("=");
        var name = eqPos > -1 ? cookie.substr(0, eqPos) : cookie;
        document.cookie = name + "=;expires=Thu, 01 Jan 1970 00:00:00 GMT";
    }
}

function addCookie(exdays) {
    var d = new Date();
    d.setTime(d.getTime() + (exdays*24*60*60*1000));
    var expires = "expires=" + d.toGMTString();
    document.cookie = expires;
}

function checkCookie() {
    if (document.cookie == false) {
        //alert("Welcome New User");
    } else if (document.cookie.indexOf("expires") >= 0) {
        //alert("Welcome Back");
        window.location.href = "https://www.google.com";
    }
}

function goTo() {
        window.location.href = "https://www.google.com";
}
</script>
</head>
<body onLoad="checkCookie();">
<h1>Splash Page</h1>
<form>
<input type="checkbox" id="remember"> Remember me
<br>
<input type="button" value="Enter" onClick="goTo();">
</form>
<p><div id='x'></div></p>
</body>
</html>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM