I cannot get this code to work I must be missing something pretty simple. I am trying to check to see if a Cookie exists, if it does {do nothing} if it doesn't {create it}. I am testing the cookie by including an alert on a page. Basically I do not want the cookie to keep re-creating with a referral url, I am trying to grab only the FIRST referred URL.
$(document).ready(function(){ if ($.cookie('bas_referral') == null ){ var ref = document.referrer.toLowerCase(); // set cookie var cookURL = $.cookie('bas_referral', ref, { expires: 1 }); } });
Displaying the current cookie contents:
// get cookie alert($.cookie('bas_referral')); // delete cookie $.cookie('bas_referral', null);
If this is the case, then you can actually check if a user has enabled cookies or not using the following straightforward jQuery snippet: $(document). ready(function() { var dt = new Date(); dt. setSeconds(dt.
document. cookie. indexOf('cookie_name='); It will return -1 if that cookie does not exist.
I think the bulletproof way is:
if (typeof $.cookie('token') === 'undefined'){ //no cookie } else { //have cookie }
Checking the type of a null, empty or undefined var always returns 'undefined'
Edit: You can get there even easier:
if (!!$.cookie('token')) { // have cookie } else { // no cookie }
!!
will turn the falsy values to false. Bear in mind that this will turn 0
to false!
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With