123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- if (!dojo._hasResource["dojo.cookie"]) { // _hasResource checks added by
- // build. Do not use _hasResource
- // directly in your code.
- dojo._hasResource["dojo.cookie"] = true;
- dojo.provide("dojo.cookie");
- /*
- * ===== dojo.__cookieProps = function(kwArgs){ // expires: Date|Number? //
- * If a number, seen as the number of days from today. If a date, the //
- * date past which the cookie is invalid. If expires is in the past, // the
- * cookie will be deleted If expires is left out or is 0, the // cookie will
- * expire when the browser closes. // path: String? // The path to use for
- * the cookie. // domain: String? // The domain to use for the cookie. //
- * secure: Boolean? // Whether to only send the cookie on secure connections }
- * =====
- */
- dojo.cookie = function(/* String */name, /* String? */value, /* dojo.__cookieProps? */
- props) {
- // summary:
- // Get or set a cookie.
- // description:
- // If you pass in one argument, the the value of the cookie is returned
- //
- // If you pass in two arguments, the cookie value is set to the second
- // argument.
- //
- // If you pass in three arguments, the cookie value is set to the
- // second argument, and the options on the third argument are used for
- // extended properties on the cookie
- // name:
- // The name of the cookie
- // value:
- // Optional. The value for the cookie.
- // props:
- // Optional additional properties for the cookie
- // example:
- // set a cookie with the JSON-serialized contents of an object which
- // will expire 5 days from now:
- // | dojo.cookie("configObj", dojo.toJson(config), { expires: 5 });
- //
- // example:
- // de-serialize a cookie back into a JavaScript object:
- // | var config = dojo.fromJson(dojo.cookie("configObj"));
- //
- // example:
- // delete a cookie:
- // | dojo.cookie("configObj", null);
- var c = document.cookie;
- if (arguments.length == 1) {
- var idx = c.lastIndexOf(name + '=');
- if (idx == -1) {
- return null;
- }
- var start = idx + name.length + 1;
- var end = c.indexOf(';', idx + name.length + 1);
- if (end == -1) {
- end = c.length;
- }
- return decodeURIComponent(c.substring(start, end));
- } else {
- props = props || {};
- value = encodeURIComponent(value);
- if (typeof(props.expires) == "number") {
- var d = allGetServerTime();
- d.setTime(d.getTime() + (props.expires * 24 * 60 * 60 * 1000));
- props.expires = d;
- }
- document.cookie = name
- + "="
- + value
- + (props.expires ? "; expires="
- + props.expires.toUTCString() : "")
- + (props.path ? "; path=" + props.path : "")
- + (props.domain ? "; domain=" + props.domain : "")
- + (props.secure ? "; secure" : "");
- return null;
- }
- };
- }
|