Cookies - Yum (Examples) (None Specified)
At 02 FEB 1999 02:16:11PM Tom Horan wrote:
Does Revsoft have an examples on how to use cookies (read / write).
At 02 FEB 1999 04:01PM amcauley@sprezzatura.com [url=http://www.sprezzatura.com]Sprezzatura Ltd[/url] wrote:
[notag]Well I don't know about RevSoft but at Sprezz we do this all the time for clients. Essentially you embed a small amount of JavaScript in your HTML. This public domain source is a useful reference point…
// Cookie Functions -- "Night of the Living Cookie" Version (25-Jul-96)//// Written by: Bill Dortch, hIdaho Design <bdortch@hidaho.com>// The following functions are released to the public domain.//// This version takes a more aggressive approach to deleting// cookies. Previous versions set the expiration date to one// millisecond prior to the current time; however, this method// did not work in Netscape 2.02 (though it does in earlier and// later versions), resulting in "zombie" cookies that would not// die. DeleteCookie now sets the expiration date to the earliest// usable date (one second into 1970), and sets the cookie's value// to null for good measure.//// Also, this version adds optional path and domain parameters to// the DeleteCookie function. If you specify a path and/or domain// when creating (setting) a cookie**, you must specify the same// path/domain when deleting it, or deletion will not occur.//// The FixCookieDate function must now be called explicitly to// correct for the 2.x Mac date bug. This function should be// called *once* after a Date object is created and before it// is passed (as an expiration date) to SetCookie. Because the// Mac date bug affects all dates, not just those passed to// SetCookie, you might want to make it a habit to call// FixCookieDate any time you create a new Date object://// var theDate = new Date();// FixCookieDate (theDate);//// Calling FixCookieDate has no effect on platforms other than// the Mac, so there is no need to determine the user's platform// prior to calling it.//// This version also incorporates several minor coding improvements.//// **Note that it is possible to set multiple cookies with the same// name but different (nested) paths. For example://// SetCookie ("color","red",null,"/outer");// SetCookie ("color","blue",null,"/outer/inner");//// However, GetCookie cannot distinguish between these and will return// the first cookie that matches a given name. It is therefore// recommended that you *not* use the same name for cookies with// different paths. (Bear in mind that there is *always* a path// associated with a cookie; if you don't explicitly specify one,// the path of the setting document is used.)//// Revision History://// "Toss Your Cookies" Version (22-Mar-96)// - Added FixCookieDate() function to correct for Mac date bug//// "Second Helping" Version (21-Jan-96)// - Added path, domain and secure parameters to SetCookie// - Replaced home-rolled encode/decode functions with Netscape's// new (then) escape and unescape functions//// "Free Cookies" Version (December 95)////// For information on the significance of cookie parameters, and// and on cookies in general, please refer to the official cookie// spec, at://// http://www.netscape.com/newsref/std/cookie_spec.html////******************************************************************//// "Internal" function to return the decoded value of a cookie//function getCookieVal (offset) {var endstr = document.cookie.indexOf (";", offset);if (endstr == -1)endstr = document.cookie.length;return unescape(document.cookie.substring(offset, endstr));}//// Function to correct for 2.x Mac date bug. Call this function to// fix a date object prior to passing it to SetCookie.// IMPORTANT: This function should only be called *once* for// any given date object! See example at the end of this document.//function FixCookieDate (date) {var base = new Date(0);var skew = base.getTime(); // dawn of (Unix) time - should be 0if (skew > 0) // Except on the Mac - ahead of its timedate.setTime (date.getTime() - skew);}//// Function to return the value of the cookie specified by "name".// name - String object containing the cookie name.// returns - String object containing the cookie value, or null if// the cookie does not exist.//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 to create or update a cookie.// name - String object containing the cookie name.// value - String object containing the cookie value. May contain// any valid string characters.// [expires] - Date object containing the expiration data of the cookie. If// omitted or null, expires the cookie at the end of the current session.// [path] - String object indicating the path for which the cookie is valid.// If omitted or null, uses the path of the calling document.// [domain] - String object indicating the domain for which the cookie is// valid. If omitted or null, uses the domain of the calling document.// [secure] - Boolean (true/false) value indicating whether cookie transmission// requires a secure channel (HTTPS).//// The first two parameters are required. The others, if supplied, must// be passed in the order listed above. To omit an unused optional field,// use null as a place holder. For example, to call SetCookie using name,// value and path, you would code://// SetCookie ("myCookieName", "myCookieValue", null, "/");//// Note that trailing omitted parameters do not require a placeholder.//// To set a secure cookie for path "/myPath", that expires after the// current session, you might code://// SetCookie (myCookieVar, cookieValueVar, null, "/myPath", null, true);//function SetCookie (name,value,expires,path,domain,secure) {document.cookie = name + "=" + escape (value) +((expires) ? "; expires=" + expires.toGMTString() : "") +((path) ? "; path=" + path : "") +((domain) ? "; domain=" + domain : "") +((secure) ? "; secure" : "");}// Function to delete a cookie. (Sets expiration date to start of epoch)// name - String object containing the cookie name// path - String object containing the path of the cookie to delete. This MUST// be the same as the path used to create the cookie, or null/omitted if// no path was specified when creating the cookie.// domain - String object containing the domain of the cookie to delete. This MUST// be the same as the domain used to create the cookie, or null/omitted if// no domain was specified when creating the cookie.//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";}}[<A HREF="mailto:amcauley@sprezzatura.com" onMouseOver="window.status='Why not click here to send me Email?';return(true)">Andrew McAuley</A>]
[<A HREF="http://www.sprezzatura.com" onMouseOver="window.status='Why not click here to visit our web site?';return(true)">Sprezzatura Ltd</A>]
[<I>World Leaders in all things RevSoft</I>]
[<img src="http://www.sprezzatura.com/zz.gif">]
[<script language="javascript">function openNewPage () {window.location.href=(document.TOCNavigator.pageToGoTo.options[document.TOCNavigator.pageToGoTo.selectedIndex].value);document.TOCNavigator.pageToGoTo.selectedIndex="0";}end hiding from non-JS browsers –></script>] [<FORM ACTION "" METHOD=GET NAME="TOCNavigator" <SELECT NAME="pageToGoTo" SIZE=1 onChange="openNewPage()"> <OPTION>Pull down this menu to choose whereabouts on Sprezz site to go <OPTION VALUE="http://www.sprezzatura.com">Home Page <OPTION VALUE="http://www.sprezzatura.com/whatsnew.htm">What's New <OPTION VALUE="http://www.sprezzatura.com/senl.htm">SENL <OPTION VALUE="http://www.sprezzatura.com/patches.htm">Download S/LIST <OPTION VALUE="mailto:support@sprezzatura.com">Send mail to support at Sprezzatura <OPTION VALUE="mailto:sales@sprezzatura.com">Send mail to sales at Sprezzatura </SELECT> </FORM>][/notag] </QUOTE> —- === At 02 FEB 1999 05:51PM Chris Revelation wrote: === <QUOTE>Tom - We currently do not have any examples of cookie usage. There is a possibility that a Knowledge Base article will be posted concerning cookies in the future. -Chris Revelation Software </QUOTE> —- === At 03 FEB 1999 04:41PM Mike Ruane, WinWin Solutions Inc. wrote: === <QUOTE>Tom- We insert a snippet of J or Javascript into the pages also. Try: http://www.cookiecentral.com/faq/index.shtml as a good faq, or just http://www.cookiecentral.com for the rest of the story. Hope it helps- Mike Ruane WinWin Solutions Inc. </QUOTE> View this thread on the Works forum...