Adds the ability to specify the ahoy cookie domain

Joe Peduto committed Apr 07, 2014
commit c6c027dda323ff2b9683106d2e6a5d04832ef32e
Showing 1 changed file with 11 additions and 4 deletions
vendor/assets/javascripts/ahoy.js +11 -4
@@ @@ -7,6 +7,7 @@
var visitTtl, visitorTtl;
var $ = window.jQuery || window.Zepto || window.$;
var visitToken, visitorToken;
+ var cookieDomain;
if (debugMode) {
visitTtl = 0.2;
@@ @@ -16,17 +17,23 @@
visitorTtl = 2 * 365 * 24 * 60; // 2 years
}
+ cookieDomain = window.ahoyCookieDomain || null;
+
// cookies
// http://www.quirksmode.org/js/cookies.html
- function setCookie(name, value, ttl) {
+ function setCookie(name, value, ttl, domain) {
var expires = "";
+ var cookieDomain = "";
if (ttl) {
var date = new Date();
date.setTime(date.getTime() + (ttl * 60 * 1000));
expires = "; expires=" + date.toGMTString();
}
- document.cookie = name + "=" + value + expires + "; path=/";
+ if (domain) {
+ cookieDomain = "; domain=" + domain;
+ }
+ document.cookie = name + "=" + value + expires + cookieDomain + "; path=/";
}
function getCookie(name) {
@@ @@ -79,12 +86,12 @@
} else {
if (!visitorToken) {
visitorToken = generateToken();
- setCookie("ahoy_visitor", visitorToken, visitorTtl);
+ setCookie("ahoy_visitor", visitorToken, visitorTtl, cookieDomain);
}
// always generate a new visit id here
visitToken = generateToken();
- setCookie("ahoy_visit", visitToken, visitTtl);
+ setCookie("ahoy_visit", visitToken, visitTtl, cookieDomain);
// make sure cookies are enabled
if (getCookie("ahoy_visit")) {