2014-09-02 2 views
1

Я пытаюсь внедрить файлы cookie для своего сайта, я просто хотел перенаправить пользователей на страницу всплеска и поставить флажок «помнить меня», и как только они проверили, что и нажав enter, они больше не будут видеть эту страницу. Таким образом, используя COOKIE Plugin я могу установить куки для пользователей и перенаправить их на страницу, но я не смог реализовать, как обнаружить запомнить меня коробка ..Не показывать эту страницу больше (JQUERY 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 { 
    } 
}); 

Любой сделал, как это раньше? Или у кого-нибудь есть аналогичная идея для реализации этого?

Любая помощь будет оценена по достоинству.

ответ

2

Решение № 1 (с оповещениями): Я придумал это, но без плагина COOKIE. Надеюсь, вы сможете воспользоваться этим. В основном Pure JS с некоторыми JQuery, чтобы немного придумать.

Адрес DEMO.

Вот код:

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

Решение # 2 (NO бдительные коробки): Я пришел с этим в качестве второго упрощенного решения по запросу, который является более совместимым с мобильным (Chrome и т.д.) , Надеюсь, вы сможете воспользоваться этим. В основном Pure JS с некоторыми JQuery, чтобы немного придумать.

Адрес DEMO.

Вот код:

<!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> 
+0

Извините за задержку, я отсутствовал некоторое время .. только увидел, что и это здорово, мы можем избавиться от подсказок и просто установить куки с именем по умолчанию? – Amir

+0

Ничего, я сделал это. – Amir

+0

не работает на Chrome/Android. , но работая во всех других браузерах на настольных и мобильных устройствах (Chrome, Safari, Opera, FF), вы знаете, в чем проблема? – Amir

Смежные вопросы