Jak nastavit expiraci cookies?

Vlček

Jak nastavit expiraci cookies?
« kdy: 23. 12. 2015, 17:50:01 »
Dobrý den,

mám jeden plugin ve wordpressu na zobrazení malého okénka s informací že je aktivovaný adblock. Plugin ale nemá žádné nastavení a chci aby to zobrazoval častěji než jednou za kdo ví kdy. Jenže se mi nedaří přepsat kod tak aby nastavil kratší platnost pro cookie podle které zvažuje zda okno otevřít či ne. S cookies jsem nepracoval a tak netuším co přepsat. Zkoušel jsem nějaké pokusy a pátral na netu ale nic. Prosím o pomoc.

Kód: [Vybrat]

var config = $.cookie = function (key, value, options) {

// Write
if (value !== undefined) {
options = $.extend({}, config.defaults, options);

if (typeof options.expires === 'number') {
var days = options.expires, t = options.expires = new Date();
t.setDate(t.getDate() + days);
}

value = config.json ? JSON.stringify(value) : String(value);

return (document.cookie = [
config.raw ? key : encodeURIComponent(key),
'=',
config.raw ? value : encodeURIComponent(value),
options.expires ? '; expires=' +  .expires.toUTCString() : '', // use expires attribute, max-age is not supported by IE
options.path    ? '; path=' + options.path : '',
options.domain  ? '; domain=' + options.domain : '',
options.secure  ? '; secure' : ''
].join(''));
}
« Poslední změna: 23. 12. 2015, 18:39:29 od Petr Krčmář »


Re:Jak nastavit expiraci cookies?
« Odpověď #1 kdy: 23. 12. 2015, 19:49:18 »
Já v kódu vidím následující řádek:

Kód: [Vybrat]
t.setDate(t.getDate() + days);
Používá se tam vlastnost options.expires, která může mít jako hodnotu nastaveno číslo – počet dní, za jak dlouho má cookie expirovat. Mělo by tedy stačit tuto vlastnost nastavit na požadovanou hodnotu. Nejlépe tam, kde se vlastnosti options obvykle v dané aplikaci nastavují.

Vlček

Re:Jak nastavit expiraci cookies?
« Odpověď #2 kdy: 23. 12. 2015, 20:04:56 »
Já v kódu vidím následující řádek:

Kód: [Vybrat]
t.setDate(t.getDate() + days);
Používá se tam vlastnost options.expires, která může mít jako hodnotu nastaveno číslo – počet dní, za jak dlouho má cookie expirovat. Mělo by tedy stačit tuto vlastnost nastavit na požadovanou hodnotu. Nejlépe tam, kde se vlastnosti options obvykle v dané aplikaci nastavují.

Díky za reakci, ale stále netuším kde to přepsat. :P pro info celý kod:

jeden JS
<code>
/*!
 * jQuery Cookie Plugin v1.3.1
 * https://github.com/carhartl/jquery-cookie
 *
 * Copyright 2013 Klaus Hartl
 * Released under the MIT license
 */
(function (factory) {
   if (typeof define === 'function' && define.amd) {
      // AMD. Register as anonymous module.
      define(['jquery'], factory);
   } else {
      // Browser globals.
      factory(jQuery);
   }
}(function ($) {

   var pluses = /\+/g;

   function decode(s) {
      if (config.raw) {
         return s;
      }
      try {
         // If we can't decode the cookie, ignore it, it's unusable.
         return decodeURIComponent(s.replace(pluses, ' '));
      } catch(e) {}
   }

   function decodeAndParse(s) {
      if (s.indexOf('"') === 0) {
         // This is a quoted cookie as according to RFC2068, unescape...
         s = s.slice(1, -1).replace(/\\"/g, '"').replace(/\\\\/g, '\\');
      }

      s = decode(s);

      try {
         // If we can't parse the cookie, ignore it, it's unusable.
         return config.json ? JSON.parse(s) : s;
      } catch(e) {}
   }

   var config = $.cookie = function (key, value, options) {

      // Write
      if (value !== undefined) {
         options = $.extend({}, config.defaults, options);

         if (typeof options.expires === 'number') {
            var days = options.expires, t = options.expires = new Date();
            t.setDate(t.getDate() + days );
         }

         value = config.json ? JSON.stringify(value) : String(value);

         return (document.cookie = [
            config.raw ? key : encodeURIComponent(key),
            '=',
            config.raw ? value : encodeURIComponent(value),
            options.expires ? '; expires=' + options.expires.toUTCString() : '', // use expires attribute, max-age is not supported by IE
            options.path    ? '; path=' + options.path : '',
            options.domain  ? '; domain=' + options.domain : '',
            options.secure  ? '; secure' : ''
         ].join(''));
      }

      // Read

      var result = key ? undefined : {};

      // To prevent the for loop in the first place assign an empty array
      // in case there are no cookies at all. Also prevents odd result when
      // calling $.cookie().
      var cookies = document.cookie ? document.cookie.split('; ') : [];

      for (var i = 0, l = cookies.length; i < l; i++) {
         var parts = cookies.split('=');
         var name = decode(parts.shift());
         var cookie = parts.join('=');

         if (key && key === name) {
            result = decodeAndParse(cookie);
            break;
         }

         // Prevent storing a cookie that we couldn't decode.
         if (!key && (cookie = decodeAndParse(cookie)) !== undefined) {
            result[name] = cookie;
         }
      }

      return result;
   };

   config.defaults = {};

   $.removeCookie = function (key, options) {
      if ($.cookie(key) !== undefined) {
         // Must not alter options, thus extending a fresh object...
         $.cookie(key, '', $.extend({}, options, { expires: -1 }));
         return true;
      }
      return false;
   };

}));

</code>

Druhý JS
<code>
jQuery( document ).ready(function( $ ) {
   var display = parseInt( jQuery.cookie( 'noAdblockNiceMessage' ), 10 );
   if (isNaN( display )) {
      if ( typeof niceAdsCheck == 'undefined' ) {
         jQuery( 'body' ).prepend( '<div id="niceMessage" class="niceMessage"><div class="inner"><div class="text"><p><strong>' + niceMessageSetup.text[0].title + '</strong></p><p>' + niceMessageSetup.text[0].message + '</p><a onclick="jQuery(\'#niceMessage\').hide(); jQuery.cookie( \'noAdblockNiceMessage\',  1, { expires: 365, path: \'/\' } );" class="close" title="Cerrar">[/url]</div></div></div>' );
      }
   }
});


</code>

Re:Jak nastavit expiraci cookies?
« Odpověď #3 kdy: 24. 12. 2015, 11:59:41 »
V tom druhém JS máte expires: 365, tedy že cookie expiruje za 365 dní. Změňte 365 na hodnotu, jakou chcete.

Re:Jak nastavit expiraci cookies?
« Odpověď #4 kdy: 24. 12. 2015, 12:30:37 »
Dobrý den,
mám jeden plugin ve wordpressu na zobrazení malého okénka s informací že je aktivovaný adblock. ...

 >:( >:( >:(

Další web, který si bude co 10 minut stěžovat na zapnutý adblock?

Exemplární Tresty Uživatelům AdBocku!!!                       Exemplární Tresty Uživatelům AdBocku!!!                   Exemplární Tresty Uživatelům AdBocku!!!                       Exemplární Tresty Uživatelům AdBocku!!!                       Exemplární Tresty Uživatelům AdBocku!!!                       Exemplární Tresty Uživatelům AdBocku!!!


Vlček

Re:Jak nastavit expiraci cookies?
« Odpověď #5 kdy: 24. 12. 2015, 22:19:29 »
V tom druhém JS máte expires: 365, tedy že cookie expiruje za 365 dní. Změňte 365 na hodnotu, jakou chcete.

No to jsem zkoušel, ale bere to je  dny. A nijak nejde zapsat minuty, či vteřiny.

Vlček

Re:Jak nastavit expiraci cookies?
« Odpověď #6 kdy: 24. 12. 2015, 22:21:33 »
Dobrý den,
mám jeden plugin ve wordpressu na zobrazení malého okénka s informací že je aktivovaný adblock. ...

 >:( >:( >:(

Další web, který si bude co 10 minut stěžovat na zapnutý adblock?

Exemplární Tresty Uživatelům AdBocku!!!                       Exemplární Tresty Uživatelům AdBocku!!!                   Exemplární Tresty Uživatelům AdBocku!!!                       Exemplární Tresty Uživatelům AdBocku!!!                       Exemplární Tresty Uživatelům AdBocku!!!                       Exemplární Tresty Uživatelům AdBocku!!!




Asi nemáte web. Měl by jste si uvědomit, že právě reklama může za to že vám funguje facebook, toto forum a stovky jiných webů. Když lidé nebudou zobrazovat reklamu, tak weby nemůžou fungovat. To ale vy nemůžete pochopit.

Re:Jak nastavit expiraci cookies?
« Odpověď #7 kdy: 24. 12. 2015, 22:31:58 »
No to jsem zkoušel, ale bere to je  dny. A nijak nejde zapsat minuty, či vteřiny.
No to nejde, vzhledem k tomu, že ten kód přičítá počet dní. To byste musel upravit ten řádek, která jsem citoval v mém prvním komentáři. Tam se nastavuje datum a čas, kdy má cookie expirovat.

Re:Jak nastavit expiraci cookies?
« Odpověď #8 kdy: 25. 12. 2015, 13:48:32 »
... Měl by jste si uvědomit, že právě reklama může za to že vám funguje facebook, toto forum a stovky jiných webů...

Sláva, sláva, funguje mi facebook.
A co to je?

Re:Jak nastavit expiraci cookies?
« Odpověď #9 kdy: 25. 12. 2015, 14:05:01 »
Asi nemáte web. Měl by jste si uvědomit, že právě reklama může za to že vám funguje facebook, toto forum a stovky jiných webů. Když lidé nebudou zobrazovat reklamu, tak weby nemůžou fungovat. To ale vy nemůžete pochopit.

Vlčkovi očividně nedochází:
1) FB mám u zadele
2) toto fórum mohlo mít peníze o lidí dávno, kdyby místo potřebných věcí neřešili shit*idní dlaždicoid s mega obřími generickými cool obrázky, který má očividně za cíl sem natahat masy a udělat z toho další živě.
3) Zadarmo s reklamou by už mohlo definitivně umřít. Nemám problém platit za kvalitní obsah, ublock nevypnu už nikdy.

bflmpsswž

Re:Jak nastavit expiraci cookies?
« Odpověď #10 kdy: 25. 12. 2015, 16:53:44 »
Dobrý den,
mám jeden plugin ve wordpressu na zobrazení malého okénka s informací že je aktivovaný adblock. ...

 >:( >:( >:(

Další web, který si bude co 10 minut stěžovat na zapnutý adblock?

Exemplární Tresty Uživatelům AdBocku!!!                       Exemplární Tresty Uživatelům AdBocku!!!                   Exemplární Tresty Uživatelům AdBocku!!!                       Exemplární Tresty Uživatelům AdBocku!!!                       Exemplární Tresty Uživatelům AdBocku!!!                       Exemplární Tresty Uživatelům AdBocku!!!




Asi nemáte web. Měl by jste si uvědomit, že právě reklama může za to že vám funguje facebook, toto forum a stovky jiných webů. Když lidé nebudou zobrazovat reklamu, tak weby nemůžou fungovat. To ale vy nemůžete pochopit.

Měl byse si uvědomi, že vám nikdo není zvědavý na to, abyste ho nechal šmírovat pokaždé když vám vleze na stránku. Když nedokážete provozovat web zadarmo, tak se na to rovnou vyserte!

Jo a na vyjebávky typu facebook vám opravdu nikdo zvědavý není... (ty každý slušný člověk stejně preventivně blokuje ;-)

Re:Jak nastavit expiraci cookies?
« Odpověď #11 kdy: 25. 12. 2015, 17:19:08 »
Když nedokážete provozovat web zadarmo, tak se na to rovnou vyserte!
To je tak neskutečně hloupé tvrzení. To jste nemohl vymyslet, to po někom jen opakujete, že?

Vlček

Re:Jak nastavit expiraci cookies?
« Odpověď #12 kdy: 25. 12. 2015, 17:26:16 »
Asi nemáte web. Měl by jste si uvědomit, že právě reklama může za to že vám funguje facebook, toto forum a stovky jiných webů. Když lidé nebudou zobrazovat reklamu, tak weby nemůžou fungovat. To ale vy nemůžete pochopit.

Vlčkovi očividně nedochází:
1) FB mám u zadele
2) toto fórum mohlo mít peníze o lidí dávno, kdyby místo potřebných věcí neřešili shit*idní dlaždicoid s mega obřími generickými cool obrázky, který má očividně za cíl sem natahat masy a udělat z toho další živě.
3) Zadarmo s reklamou by už mohlo definitivně umřít. Nemám problém platit za kvalitní obsah, ublock nevypnu už nikdy.

Rád bych viděl jak rychle by jste odešel z dobrého webu, kdyby vás poprosili aby jste jim zaplatil za to, že mají kvalitní obsah. Vyserete se na ně nezávisle na obsahu :D . Platíte jim právě tím, že zobrazujete reklamu.

Vlček

Re:Jak nastavit expiraci cookies?
« Odpověď #13 kdy: 25. 12. 2015, 17:33:40 »
Každopádně díky moc uživateli Filip Jirsák, který mi pomohl. ;) Ostatním by se mělo založit hádací fórum, protože radit neumí a umí se jen hádat. Nikdy jsem nechápal jak může takový člověk existovat. Každý idiot umí mluvit o blbostech a hádat se, ale poradit umí jen někdo normální.

A pro ti co se radit ani nesnažili. Pokud neumíš radit, raději mlč.


(PS: toto forum už neotevřu, takže si na mě nadávejte jak chcete. A majiteli fora bych doporučil vyhazovat debily. Akorát kazí forum.)