Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Установить время жизни cookie
Форумы портала PHP.SU » Клиентская разработка » JavaScript & VBScript » Установить время жизни cookie

Страниц (2): [1] 2 »
 

1. webog - 05 Марта, 2014 - 16:34:45 - перейти к сообщению
Приветствую!

Подскажите пожалуйста, как задать время жизни cookie?

Устанавливаю куки так:

CODE (javascript):
скопировать код в буфер обмена
  1. <script language="javascript">
  2.  
  3. if (document.cookie.indexOf('_visited=1') == -1) {
  4.  
  5.  
  6. $(document).ready(function() {
  7.  
  8. код...
  9.  
  10. });
  11.  
  12.  
  13. document.cookie = '_visited=1; path=/';
  14. }
  15.  
  16. </script>


Куда время можно прилепить то?

Вот нашел в интернете:

CODE (javascript):
скопировать код в буфер обмена
  1. date = new Date();
  2. date.setHours(date.getHours() + 1);
  3. setCookie('name', 'value', date.toUTCString());


Заранее спасибо!
2. EuGen - 05 Марта, 2014 - 16:37:12 - перейти к сообщению
stackoverflow пишет:

CODE (javascript):
скопировать код в буфер обмена
  1. function writeCookie (key, value, days) {
  2.     var date = new Date();
  3.  
  4.     // Default at 365 days.
  5.     days = days || 365;
  6.  
  7.     // Get unix milliseconds at current time plus number of days
  8.     date.setTime(+ date + (days * 86400000)); //24 * 60 * 60 * 1000
  9.  
  10.     window.document.cookie = key + "=" + value + "; expires=" + date.toGMTString() + "; path=/";
  11.  
  12.     return value;
  13. };
3. webog - 05 Марта, 2014 - 16:45:27 - перейти к сообщению
EuGen, какие данные будут записываться в куки?
4. IllusionMH - 05 Марта, 2014 - 16:58:20 - перейти к сообщению
webog, какие хотите. Посмотрите на сгенерированную в строку и подставьте свои данные.
5. webog - 05 Марта, 2014 - 17:48:04 - перейти к сообщению
CODE (javascript):
скопировать код в буфер обмена
  1. // Default at 365 days.
  2.     days = days || 365;


Друзья, как 12 часов поставить?

hours ?
6. IllusionMH - 05 Марта, 2014 - 17:51:06 - перейти к сообщению
webog, замените кол-во дней на кол-во часов, и множитель для кол-ва милисекунд в сутках на кол-во милисекунд в часу.
7. webog - 05 Марта, 2014 - 17:57:48 - перейти к сообщению
days = hours || 1*86400*3600;

Получается так?
8. IllusionMH - 05 Марта, 2014 - 17:58:52 - перейти к сообщению
webog, напрягите извилины
CODE (javascript):
скопировать код в буфер обмена
  1. // Get unix milliseconds at current time plus number of days
  2.     date.setTime(+ date + (days * 86400000)); //24 * 60 * 60 * 1000


тут должны быть часы и кол-во миллисекунд в часе.
9. webog - 05 Марта, 2014 - 19:11:40 - перейти к сообщению
IllusionMH,

CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. // Get unix milliseconds at current time plus number of days
  3.     date.setTime(+ date + (hours * 3600000)); //1 * 60 * 60 * 1000
  4.  


Получается так?
10. IllusionMH - 05 Марта, 2014 - 19:15:05 - перейти к сообщению
webog, ага.
11. webog - 05 Марта, 2014 - 19:18:23 - перейти к сообщению
IllusionMH пишет:
webog, ага.


Плюсанул, спасибо, тестирую!
(Добавление)
CODE (javascript):
скопировать код в буфер обмена
  1. function writeCookie (key, value, days) {
  2.     var date = new Date();
  3.  
  4.     // Default at 365 days.
  5.     days = days || 365;
  6.  
  7.    // Get unix milliseconds at current time plus number of days
  8.     date.setTime(+ date + (hours * 3600000)); //1 * 60 * 60 * 1000
  9.  
  10.     window.document.cookie = key + "=" + value + "; expires=" + date.toGMTString() + "; path=/";
  11.  
  12.     return value;
  13.         };


Сей код не работает.
Может и работает, но не для моей задачи.

Нужно что бы окно не вылетало при обновлении страници в браузере.
Зашли на сайт - вылете окно - записалось в куки - время жизни куки час.

Может сюда примотать нужно?

CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. if (document.cookie.indexOf('_visited=1') == -1) {
  3.  
  4. код...
  5.  
  6. document.cookie = '_visited=1; path=/';
  7. }
  8.  
12. webog - 07 Марта, 2014 - 16:27:32 - перейти к сообщению
Подыму тему. Т.к. актуальна.

Еще трабл со скролом. Окно не вылетело, а при скролинге вылетает.
13. IllusionMH - 07 Марта, 2014 - 16:42:40 - перейти к сообщению
webog, ну так на закрытие окна вешайте обработчик. который запишет правильную куку с временем истечения. А то у вас как писалось ваша строка, так и пишется. Функцию где используете которая часы подставляет?
14. webog - 07 Марта, 2014 - 17:26:48 - перейти к сообщению
IllusionMH, простите ради бога, но в яве не силен. Можно еще раз?
15. webog - 11 Марта, 2014 - 14:11:02 - перейти к сообщению
CODE (javascript):
скопировать код в буфер обмена
  1. <script language="javascript">
  2.  
  3. if (document.cookie.indexOf('_visited=1') == -1) {
  4.  
  5. $(document).ready(function() {
  6.  
  7. <!-- ========Cookie========= -->
  8. function writeCookie (key, value, days) {
  9.     var date = new Date();
  10.  
  11.     // Default at 365 days.
  12.     days = days || 1;
  13.  
  14.    // Get unix milliseconds at current time plus number of days
  15.     date.setTime(+ date + (hours * 3600000)); //1 * 60 * 60 * 1000
  16.  
  17.     window.document.cookie = key + "=" + value + "; expires=" + date.toGMTString() + "; path=/";
  18.  
  19.     return value;
  20.         };
  21. <!-- ========/Cookie========= -->
  22.  
  23.  
  24. <!-- ========OTKR========= -->
  25.  
  26. setTimeout(function(){
  27.     $('#sliderBox').slideTo({
  28.         transition:300,
  29.         top:'center',
  30.         left:'center',
  31.         inside:window
  32.     });
  33.   $('#background').height($(document).height());
  34.  
  35.     jQuery(window).resize(function() {
  36.         $('#sliderBox').stop().slideTo({
  37.             transition:300,
  38.             top:'center',
  39.             left:'center',
  40.             inside:window
  41.         });
  42.     });
  43.     },15000);
  44. <!-- ========/OTKR========= -->
  45.  
  46.  
  47. <!-- ========ZAKR========= -->
  48. setTimeout(function(){$("#sliderBox").slideTo({
  49.             transition:-100,
  50.             top:-15000
  51.             });
  52.             $('#background').fadeOut(500);
  53.             closeWelcomeBox = true;
  54.             },25000);
  55. <!-- ========/ZAKR========= -->
  56.  
  57.     var closeWelcomeBox;
  58.  
  59.     $(window).scroll(function(){
  60.         if(!closeWelcomeBox){
  61.             $('#sliderBox').stop().slideTo({
  62.                 transition:300,
  63.                 top:'center',
  64.                 left:'center',
  65.                 inside:window
  66.             });
  67.         }
  68.     });
  69.  
  70.  
  71.     $("#closeWelcomeBox").click(function(){
  72.         $('#sliderBox').stop().slideTo({
  73.             transition:500,
  74.             top:-15000
  75.             });
  76.             $('#background').fadeOut(500);
  77.         closeWelcomeBox = true;
  78.     });
  79.  
  80. });
  81.  
  82.         writeCookie ('_visited=1', value, days);
  83. }
  84.  
  85. </script>


Сейчас вот так вот! Окошко вылетает по времени, залетает. Все ок!

Но куки не пишет.

 

Powered by ExBB FM 1.0 RC1