Online Documentation Server
 ПОИСК
ods.com.ua Web
 КАТЕГОРИИ
Home
Programming
Net technology
Unixes
Security
RFC, HOWTO
Web technology
Data bases
Other docs

 


 ПОДПИСКА

 О КОПИРАЙТАХ
Вся предоставленная на этом сервере информация собрана нами из разных источников. Если Вам кажется, что публикация каких-то документов нарушает чьи-либо авторские права, сообщите нам об этом.




Previous Table of Contents Next

Cookie Functions

You should have noticed that we neither demonstrated nor emphasized the usage of cookies with JavaScript. The reason for this is that it is difficult and almost useless to explicitly deal with the document.cookie property. Furthermore, there are only three defined actions related to cookies:

  • Retrieving the value of a cookie according to its name
  • Setting a cookie to a desired attribute
  • Deleting a cookie

We have written several functions that you may find useful, whenever you want to perform one of the above actions. All functions are self-explanatory and are fully commented:

// Boolean variable specified if alert should be displayed if
cookie exceeds 4KB
var caution = false

// name - name of the cookie
// value - value of the cookie
// [expires] - expiration date of the cookie (defaults to end of
 current session)
// [path] - path for which the cookie is valid (defaults to path of
 calling document)
// [domain] - domain for which the cookie
// is valid(defaults to domain of calling document)
// [secure] - Boolean value indicating if the cookie
// transmission requires a secure transmission
// * an argument defaults when it is assigned
// null as a placeholder
// * a null placeholder is not required for trailing
// omitted arguments
function setCookie(name, value, expires, path, domain, secure) {
var curCookie = name + "=" + escape(value) +
((expires) ? "; expires=" + expires.toGMTString() : "") +
((path) ? "; path=" + path : "") +
((domain) ? "; domain=" + domain : "") +
((secure) ? "; secure" : "")
if (!caution || (name + "=" + escape(value)).length <= 4000)
 document.cookie = curCookie
else
 if (confirm("Cookie exceeds 4KB and will be cut!"))
document.cookie = curCookie
}

// name - name of the desired cookie
// * return string containing value of specified cookie
// or null if cookie does not exist
function getCookie(name) {
var prefix = name + "="
var cookieStartIndex = document.cookie.indexOf(prefix)
if (cookieStartIndex == –1)
return null
var cookieEndIndex = document.cookie.indexOf(";", cookieStartIndex
+ prefix.length)
if (cookieEndIndex == –1)
cookieEndIndex = document.cookie.length
return unescape(document.cookie.substring(cookieStartIndex +
prefix.length, cookieEndIndex))
}

// name - name of the cookie
// [path] - path of the cookie (must be same as path used to
create cookie)
// [domain] - domain of the cookie (must be same
// as domain used to create cookie)
// * path and domain default if assigned null or omitted if no
explicit argument proceeds
function deleteCookie(name, path, domain) {
if (getCookie(name)) {
 document.cookie = name + "=" +
 ((path) ? "; path=" + path : "") +
 ((domain) ? "; domain=" + domain : "") +
 "; expires=Thu, 01-Jan-70 00:00:01 GMT"
}
}

// date - any instance of the Date object
// * you should hand all instances of the Date object to this function
for "repairs"
// * this function is taken from Chapter 14, Time and Date
// in JavaScript, in "Learn Advanced JavaScript Programming"
function fixDate(date) {
var base = new Date(0)
var skew = base.getTime()
if (skew > 0)
 date.setTime(date.getTime() – skew)
}

Previous Table of Contents Next


With any suggestions or questions please feel free to contact us