Javascript 检查是否设置了Cookie,然后加载页面else重定向页面
我的网站有一个启动页面,在进入网站之前应该要求用户确认。 我在那里实现了一个“记住我”复选框,所以如果用户选中它,它将设置一个cookie,以便在下次访问页面中自动重定向 我刚刚遇到的问题是,我想在我的头页中设置一个条件,所以它应该检查用户是否已经拥有Cookie,它应该显示页面内容,如果没有,它应该重定向到初始页面 用PHP或JS有什么方法吗 这是启动页面代码Javascript 检查是否设置了Cookie,然后加载页面else重定向页面,javascript,php,jquery,cookies,Javascript,Php,Jquery,Cookies,我的网站有一个启动页面,在进入网站之前应该要求用户确认。 我在那里实现了一个“记住我”复选框,所以如果用户选中它,它将设置一个cookie,以便在下次访问页面中自动重定向 我刚刚遇到的问题是,我想在我的头页中设置一个条件,所以它应该检查用户是否已经拥有Cookie,它应该显示页面内容,如果没有,它应该重定向到初始页面 用PHP或JS有什么方法吗 这是启动页面代码 <!doctype html> <html> <head> <meta charset
<!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) {
addCookie(30);
} else {
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) {
} else if (document.cookie.indexOf("expires") >= 0) {
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>
</body>
</html>
无标题文件
$(文档).ready(函数(e){
$('#记住')。单击(函数(){
如果(选中此项){
addCookie(30);
}否则{
删除所有cookies();
}
});
});
函数deleteAllCookies(){
var cookies=document.cookie.split(“;”);
对于(变量i=0;i-1?cookie.substr(0,eqPos):cookie;
document.cookie=name+“=;expires=Thu,1970年1月1日00:00:00 GMT”;
}
}
函数addCookie(exdays){
var d=新日期();
d、 设置时间(d.getTime()+(exdays*24*60*60*1000));
var expires=“expires=“+d.togmString();
document.cookie=过期;
}
函数checkCookie(){
if(document.cookie==false){
}else if(document.cookie.indexOf(“expires”)>=0){
window.location.href=”https://www.google.com";
}
}
函数goTo(){
window.location.href=”https://www.google.com";
}
启动页
记得我吗
@Totalytallyamazing对于这个解决方案,我使用了JS、Jquery和(PHP只是为了测试)
这是你的电话号码。(为了适应这个演示,我稍微修改了上一个启动页演示。)
代码如下:
<!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>
function checkCookie() {
if (document.cookie == false) {
$('#x').text("No Cookie.");
window.location.href = "http://www.totallytotallyamazing.com/jsFiddle/cookie/indexNoAlert.html";
} else if (document.cookie.indexOf("expires") >= 0) {
$('#x').text("You have Cookie.");
}
}
</script>
</head>
<body onLoad="checkCookie();">
<h1>My Website</h1>
<p><div id='x'></div></p>
<?php
session_start();
if(isset($_COOKIE['expires'])) {
echo "Here is your expiration date " . $_COOKIE['expires'] . "!<br>";
}
?>
</body>
</html>
无标题文件
函数checkCookie(){
if(document.cookie==false){
$('#x')。文本(“无Cookie”);
window.location.href=”http://www.totallytotallyamazing.com/jsFiddle/cookie/indexNoAlert.html";
}else if(document.cookie.indexOf(“expires”)>=0){
$('#x').text(“您有Cookie”);
}
}
我的网站
页面完成最终重定向后,再次重新加载页面,以查看“expires”cookie显示的到期日期。
我希望这对你有用,请让我知道。@Totalytallyamazing你有什么想法吗?旁注:如果你只使用JavaScript,我将禁用JavaScript并浏览你的网站。应该用PHP来做。我不行,cookie是跨域设置的吗?cookie应该有一个名称来标识吗?我应该把代码放在标题中(对于所有页面)@Amir希望这能给你证明它是有效的。cookie的名称是“expires”。此外,如果您使用Chrome,请从菜单“查看->开发人员->开发人员工具”中单击此处的“资源”选项卡,您将看到Cookie,单击该选项卡可查看Cookie或缺少Cookie。