2016-11-13 2 views
0

Я пытаюсь создать сценарий, который, когда пользователь открывает сайт, будет приветствовать подсказку и после того, как предупреждение будет приветствоваться, а также то, что вводится в подсказке установит печенье на 1 минуту проблемы я столкнулся являются:
1. предупреждение не отображается
2. Cookie не установленИспользование Cookies для установки предупреждения в javascript

function checkCookie() 
{ 
    var username=getCookie("username"); 
    if (username!=null && username!="") { 
     alert("Welcome again "+ username); 
    } 
    else { 
     username=prompt("Please input name:",""); 
     if (username !=null && username!="") { 
      setCookie("username", username, 365); 
     } 
     else { 
      alert("Error"); 
     } 
    } 
} 
function setCookie (cname,cvalue,exdays) 
{ 
    var d = new Date(); 
    d.setTime (d.getTime()+ (10*1000)); 
    var expires ="; expires= "+ d.toGMTString(); 
    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 ""; 
} 
+0

Вы пробовали войти в систему, чтобы узнать, какая часть кода почему не работает. Вы можете попробовать с console.log()? – MatejMecka

+0

ошибок не было в консоли –

+0

Я держу пари, что с вашим кодом ничего не получается, так как время истечения настолько низкое (всего 10 секунд) – Viney

ответ

0

Попробуйте заменить var expires ="; expires= "+ d.toGMTString(); с var expires ="; expires= "+ d.toUTCString();

Время истечения времени сохраняется как Unix tim Эстамп.

Редактировать: Вам также необходимо выполнить функцию checkCookie. Я думал, это очевидно.

https://jsfiddle.net/osgohu5b/

+0

my проблемы - это цикл не вызывает предупреждения –

+0

Какой цикл вы имеете в виду? –

0

Вот jsfiddle вашего кода: https://jsfiddle.net/19yp8ucd/3/. Он отлично работает. Вам просто нужно вызвать функцию checkCookie().

checkCookie(); 

Просмотреть последнюю строку в .js скрипки.

Кроме того, вы не используете количество дней в вашей функции setCookie(). Вы можете проверить хорошую реализацию setCookie(), getCookie(), eraseCookie() здесь: https://stackoverflow.com/a/24103596/3946520

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