I’m stuck. We’re trying to see which of two sites get used more. So we’re using javascript to make a cookie that reads the referral URL and submits it with our order form. It works.
But it’s not overwriting when you revisit the page. Typically cookies with the same name overwrite an existing cookie with the newer one. And in this case, that would be helpful.
I use javascript so rarely that I tend to forget stuff. I’m probably missing something obvious. What’s going on that’s interfering with the default?
function readID() {
var expDays = 30;
var expDate = new Date();
expDate.setTime(expDate.getTime() + (24 * 60 * 60 * 1000 * expDays));
var id = GetCookie('id');
if (id == null || id == "no_id") {
if (location.search.length > 1) id = location.search.substring(1, location.search.length);
else id = "no_id";
if (id != GetCookie('id')) SetCookie('id', id, expDate);
}
document.form.CookieResult.value = id;
}
function getCookieVal (offset) {
var endstr = document.cookie.indexOf (";", offset);
if (endstr == -1)
endstr = document.cookie.length;
return unescape(document.cookie.substring(offset, endstr));
}
function GetCookie (name) {
var arg = name + "=";
var alen = arg.length;
var clen = document.cookie.length;
var i = 0;
while (i < clen) {
var j = i + alen;
if (document.cookie.substring(i, j) == arg)
return getCookieVal (j);
i = document.cookie.indexOf(" ", i) + 1;
if (i == 0) break;
}
return null;
}
function SetCookie (name, value) {
var argv = SetCookie.arguments;
var argc = SetCookie.arguments.length;
var expires = (argc > 2) ? argv[2] : null;
var path = (argc > 3) ? argv[3] : null;
var domain = (argc > 4) ? argv[4] : null;
var secure = (argc > 5) ? argv[5] : false;
document.cookie = name + "=" + escape (value) +
((expires == null) ? "" : ("; expires=" + expires.toGMTString())) +
((path == null) ? "" : ("; path=" + path)) +
((domain == null) ? "" : ("; domain=" + domain)) +
((secure == true) ? "; secure" : "");
}