2013-12-10 3 views
0

У меня есть функция, которая устанавливает cookie, который запоминает щелкнув изображение. Если файл находится в корневой папке, все работает отлично. Если я помещу тот же файл в подпапку, cookie будет просто не установлен.В подпапке нет cookie

Вот мой код.

function FensterOeffnen (Variable) { 
    var a = new Date(); 
    a = new Date(a.getTime() +1000*5); 
    document.cookie = 'uebergabe='+Variable+'; expires='+ 
         a.toGMTString()+';'; 
    window.location.href="../test2.html"; 
} 

ответ

2

То есть, как document.cookie работает по умолчанию. Поскольку вы не указываете путь для файла cookie, по умолчанию используется подпапка, в которой находится ваш скрипт. Ссылка:

Любые из следующих значений атрибутов печенья необязательно может следовать паре с ключом-значения, указав кук для установки/обновления, и предшествует сепаратор пола-толстой кишки:

  • ;path=path (например, '/', '/ mydir') Если не указано, по умолчанию используется текущий путь к текущему местоположению документа.

Таким образом, у печенья, который вы устанавливаете, есть путь, например. /mydir. Это означает, что он недействителен для скриптов вне этого пути according to RFC 6265.

Если вы хотите, чтобы куки, чтобы быть доступным на своем сайте, вы должны добавить ;path=/ вручную:

document.cookie = 'uebergabe='+Variable+'; expires='+ 
        a.toGMTString()+';path=/'; 
+0

Так вот вся магия :) Спасибо работает отлично. – Salix

+0

Прошел этот вопрос сегодня, и это решение сработало и для меня! :) – emaxsaun

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