src/cm/media/js/lib/yui/yui_3.10.3/docs/cookie/index.html
author gibus
Tue, 11 Feb 2014 12:33:25 +0100
changeset 572 93383e54e042
parent 525 89ef5ed3c48b
permissions -rw-r--r--
Font size for piwik optout iframe.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
525
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     1
<!DOCTYPE html>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     2
<html lang="en">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     3
<head>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     4
    <meta charset="utf-8">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     5
    <title>Cookie Utility</title>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     6
    <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=PT+Sans:400,700,400italic,700italic">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     7
    <link rel="stylesheet" href="../../build/cssgrids/cssgrids-min.css">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     8
    <link rel="stylesheet" href="../assets/css/main.css">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     9
    <link rel="stylesheet" href="../assets/vendor/prettify/prettify-min.css">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    10
    <link rel="shortcut icon" type="image/png" href="../assets/favicon.png">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    11
    <script src="../../build/yui/yui-min.js"></script>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    12
    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    13
</head>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    14
<body>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    15
<!--
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    16
<a href="https://github.com/yui/yui3"><img style="position: absolute; top: 0; right: 0; border: 0;" src="https://s3.amazonaws.com/github/ribbons/forkme_right_darkblue_121621.png" alt="Fork me on GitHub"></a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    17
-->
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    18
<div id="doc">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    19
    <div id="hd">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    20
        <h1><img src="http://yuilibrary.com/img/yui-logo.png"></h1>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    21
    </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    22
    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    23
        <a href="#toc" class="jump">Jump to Table of Contents</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    24
    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    25
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    26
            <h1>Cookie Utility</h1>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    27
    <div class="yui3-g">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    28
        <div class="yui3-u-3-4">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    29
            <div id="main">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    30
                <div class="content"><div class="intro">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    31
    <p>The YUI Cookie utility provides a simple API for interacting with cookies, including the creation and manipulation of subcookies.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    32
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    33
    <p><strong>Note about HTTPOnly Cookies:</strong> HTTPOnly cookies are cookies that may be set either by JavaScript or by the server but cannot be read from JavaScript. The YUI Cookie utility does not provide support for setting HTTPOnly cookies because browser support is not well-established and there is no fallback mechanism. Setting an HTTPOnly cookie on a browser that doesn't support it is the same as setting any other cookie (no error is thrown). When all A-grade browsers support setting HTTPOnly cookies by JavaScript, we will revisit adding support for it in the Cookie utility.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    34
</div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    35
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    36
<h2 id="getting-started">Getting Started</h2>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    37
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    38
<p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    39
To include the source files for Cookie Utility and its dependencies, first load
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    40
the YUI seed file if you haven't already loaded it.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    41
</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    42
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    43
<pre class="code prettyprint">&lt;script src=&quot;http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.10.3&#x2F;build&#x2F;yui&#x2F;yui-min.js&quot;&gt;&lt;&#x2F;script&gt;</pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    44
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    45
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    46
<p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    47
Next, create a new YUI instance for your application and populate it with the
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    48
modules you need by specifying them as arguments to the <code>YUI().use()</code> method.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    49
YUI will automatically load any dependencies required by the modules you
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    50
specify.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    51
</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    52
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    53
<pre class="code prettyprint">&lt;script&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    54
&#x2F;&#x2F; Create a new YUI instance and populate it with the required modules.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    55
YUI().use(&#x27;cookie&#x27;, function (Y) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    56
    &#x2F;&#x2F; Cookie Utility is available and ready for use. Add implementation
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    57
    &#x2F;&#x2F; code here.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    58
});
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    59
&lt;&#x2F;script&gt;</pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    60
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    61
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    62
<p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    63
For more information on creating YUI instances and on the
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    64
<a href="http://yuilibrary.com/yui/docs/api/classes/YUI.html#method_use"><code>use()</code> method</a>, see the
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    65
documentation for the <a href="../yui/index.html">YUI Global Object</a>.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    66
</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    67
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    68
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    69
<h2 id="using">Using the Cookie Utility</h2>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    70
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    71
<h3 id="create">Creating Cookies</h3>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    72
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    73
<p>The simplest way to create a cookie is to provide a name and a value to the <code>set()</code> method:</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    74
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    75
<pre class="code prettyprint">&#x2F;&#x2F; Create a YUI instance and use the cookie module.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    76
YUI().use(&#x27;cookie&#x27;, function(Y) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    77
    Y.Cookie.set(&quot;name&quot;, &quot;value&quot;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    78
});</pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    79
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    80
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    81
<p>This example creates a cookie called &quot;name&quot; that has a value of &quot;value&quot;. Since
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    82
this cookie is created with all of the default settings, it becomes a session cookie.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    83
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    84
<p>There is a third argument for <code>set()</code>, which is an object containing additional settings for the cookie. To create a persistent cookie, you can specify an expiration date by supplying a <code>Date</code> object:</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    85
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    86
<pre class="code prettyprint">&#x2F;&#x2F; Create a YUI instance and use the cookie module.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    87
YUI().use(&#x27;cookie&#x27;, function(Y) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    88
    Y.Cookie.set(&quot;name&quot;, &quot;value&quot;, { expires: new Date(&quot;January 12, 2025&quot;) });
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    89
});</pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    90
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    91
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    92
<p>By providing an &quot;expires&quot; option in the third argument, the cookie persists until the given date. In this example,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    93
the cookie will remain until January 12, 2025. The value for &quot;expires&quot; must be a <code>Date</code> object, otherwise
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    94
it is ignored.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    95
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    96
<p>It's possible to restrict access to a cookie by setting path and/or domain information. Setting a path on the cookie restricts access to pages that match that path; setting a domain restricts access to pages on a given domain (typically used to allow cookie access across subdomains). Both options can be easily set using the &quot;path&quot; and &quot;domain&quot; options:</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    97
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    98
<pre class="code prettyprint">&#x2F;&#x2F; Create a YUI instance and use the cookie module.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    99
YUI().use(&#x27;cookie&#x27;, function(Y) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   100
    Y.Cookie.set(&quot;name&quot;, &quot;value&quot;, {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   101
        path: &quot;&#x2F;&quot;,           &#x2F;&#x2F;all pages
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   102
        domain: &quot;yahoo.com&quot;   &#x2F;&#x2F;any subdomain of yahoo.com, including www.yahoo.com
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   103
    });
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   104
});</pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   105
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   106
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   107
<p>In this example, a cookie is created that can be accessed from all pages on a yahoo.com subdomain. This cookie would
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   108
then be accessible from pages on <a href="http://sports.yahoo.com">sports.yahoo.com</a> as well as <a href="http://www.yahoo.com">www.yahoo.com</a>.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   109
The &quot;path&quot; and &quot;domain&quot; options need not be used together; they may be used independently as well.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   110
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   111
<p>The last option is &quot;secure&quot;, which indicates that the cookie should only be accessible via SSL on a page
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   112
using the HTTPS protocol. All other aspects of the cookie remain the same based on the other options provided. To set a
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   113
secure cookie, use the &quot;secure&quot; option:</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   114
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   115
<pre class="code prettyprint">&#x2F;&#x2F; Create a YUI instance and use the cookie module.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   116
YUI().use(&#x27;cookie&#x27;, function(Y){
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   117
    Y.Cookie.set(&quot;name&quot;, &quot;value&quot;, { secure: true });
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   118
});</pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   119
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   120
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   121
<p>This code creates a secure cookie by setting the &quot;secure&quot; option to <code>true</code>. Note that this will only work if the page calling this code uses the HTTPS protocol, otherwise the cookie will be created with default options.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   122
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   123
<p>There is one more option called &quot;raw&quot;. When this option is specified, the cookie will not be URL-encoded before being set. Setting a &quot;raw&quot; cookie typically means that you have specialized server-side logic to deal with cookies that aren't URL-encoded. This is considered an advanced option that should only be used when necessary. Example usage:</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   124
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   125
<pre class="code prettyprint">&#x2F;&#x2F; Create a YUI instance and use the cookie module.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   126
YUI().use(&#x27;cookie&#x27;, function(Y){
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   127
    Y.Cookie.set(&quot;name&quot;, &quot;value&quot;, { raw: true });
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   128
});</pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   129
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   130
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   131
<h3 id="read">Reading Cookies</h3>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   132
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   133
<p>The <code>get()</code> method retrieves cookies that are accessible by the current page. If a cookie doesn't exist, <code>get()</code> returns <code>null</code>.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   134
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   135
<pre class="code prettyprint">&#x2F;&#x2F; Create a YUI instance and use the cookie module.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   136
YUI().use(&#x27;cookie&#x27;, function(Y){
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   137
    var value = Y.Cookie.get(&quot;name&quot;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   138
});</pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   139
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   140
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   141
<p>This example retrieves the cookie called &quot;name&quot; and stores its value in the variable <code>value</code>. By default, values returned by <code>get()</code> are strings (if the cookie exists) or <code>null</code> (if the cookie doesn't exist). You can change the return value by providing a conversion function as the second argument. For example, to return a number, you can pass in the native <code>Number()</code> function:</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   142
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   143
<pre class="code prettyprint">&#x2F;&#x2F; Create a YUI instance and use the cookie module.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   144
YUI().use(&#x27;cookie&#x27;, function(Y){
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   145
    var value = Y.Cookie.get(&quot;age&quot;, Number);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   146
});</pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   147
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   148
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   149
<p>In this code, the returned cookie value will be a number if the cookie exists (it will still be <code>null</code> if the cookie doesn't exist). Other native functions that convert values are <code>Boolean()</code> and <code>Date</code>, or you can define your own conversion function:</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   150
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   151
<pre class="code prettyprint">&#x2F;&#x2F; Create a YUI instance and use the cookie module.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   152
YUI().use(&#x27;cookie&#x27;, function(Y){
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   153
    var value = Y.Cookie.get(&quot;code&quot;, function(stringValue){
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   154
        return parseInt(stringValue, 16);   &#x2F;&#x2F; Create a number from a hexadecimal code
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   155
    });
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   156
});</pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   157
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   158
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   159
<p>Conversion functions accept a single argument, the string value of the cookie, and must return a value. In this example, the conversion function expects a hexadecimal code to be returned and passes it into <code>parseInt()</code> to convert the value into a number. Note that the conversion function is never called if the cookie doesn't exist (<code>get()</code> always returns <code>null</code> when the cookie doesn't exist).</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   160
                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   161
<p>The second argument can optionally be an object if you'd like to read a raw cookie. As with, writing cookies, it's possible to read a cookie without URL-decoding the value. To specify this, the second argument should be an object, such as:</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   162
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   163
<pre class="code prettyprint">&#x2F;&#x2F; Create a YUI instance and use the cookie module.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   164
YUI().use(&#x27;cookie&#x27;, function(Y){
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   165
    var value = Y.Cookie.get(&quot;code&quot;, { raw: true });
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   166
});</pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   167
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   168
                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   169
<p>If you'd like to use a converter on a raw cookie, you can specify this using the &quot;converter&quot; option:</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   170
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   171
<pre class="code prettyprint">&#x2F;&#x2F; Create a YUI instance and use the cookie module.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   172
YUI().use(&#x27;cookie&#x27;, function(Y){
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   173
    var value = Y.Cookie.get(&quot;code&quot;, {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   174
        raw: true,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   175
        converter: function(stringValue){
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   176
            return parseInt(stringValue, 16);   &#x2F;&#x2F; Create a number from a hexadecimal code
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   177
        }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   178
    });
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   179
});</pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   180
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   181
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   182
<h3 id="delete">Deleting Cookies</h3>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   183
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   184
<p>When a cookie is no longer need, it can be removed from the browser by calling the <code>remove()</code> method. This method takes two arguments: the name of the cookie to remove and an optional cookie options object. A cookie created with specific options can only be deleted by specifying the same options. For instance, a cookie created with a <code>domain</code> property of &quot;yahoo.com&quot; can only be deleted by also specifying the <code>domain</code> property as &quot;yahoo.com&quot;. Examples:</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   185
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   186
<pre class="code prettyprint">&#x2F;&#x2F; Create a YUI instance and use the cookie module.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   187
YUI().use(&#x27;cookie&#x27;, function(Y){
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   188
    &#x2F;&#x2F;delete the cookie named &quot;code&quot;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   189
    Y.Cookie.remove(&quot;code&quot;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   190
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   191
    &#x2F;&#x2F;delete the cookie named &quot;info&quot; on the &quot;yahoo.com&quot; domain
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   192
    Y.Cookie.remove(&quot;info&quot;, { domain: &quot;yahoo.com&quot; });
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   193
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   194
    &#x2F;&#x2F;delete a secure cookie named &quot;username&quot;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   195
    Y.Cookie.remove(&quot;username&quot;, { secure: true });                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   196
});</pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   197
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   198
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   199
<h3 id="sub">Subcookies</h3>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   200
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   201
<p>Each browser has a limit to the number of cookies that can be set per domain. These limits can be problematic for domains with different sites under different subdomains. Since cookie name-value pairs are rarely large enough to reach the byte limit for an individual cookie, it represents an opportunity to store multiple name-value pairs in a single cookie; these are called subcookies.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   202
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   203
<p>A subcookie string looks similar to a URL and takes the following form:</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   204
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   205
<p><code>cookiename=name1=value1&amp;name2=value2&amp;name3=value3</code></p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   206
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   207
<p>The Cookie utility supports this style of subcookies to allow multiple values to be stored in a single cookie. To set a subcookie value, use the <code>setSub()</code> method. This method accepts four arguments: the cookie name, the subcookie name, the subcookie value, and an optional options object. Note that the options object works on the entire cookie, it is not specific to the subcookie.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   208
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   209
<pre class="code prettyprint">&#x2F;&#x2F; Create a YUI instance and use the cookie module.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   210
YUI().use(&#x27;cookie&#x27;, function(Y){
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   211
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   212
    &#x2F;&#x2F;set a cookie named &quot;name&quot; with a subcookie named &quot;subname&quot; whose value is &quot;value&quot;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   213
    Y.Cookie.setSub(&quot;name&quot;, &quot;subname&quot;, &quot;value&quot;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   214
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   215
    &#x2F;&#x2F;set a second subcookie on &quot;name&quot;, with a name of &quot;subname2&quot; and a value of &quot;value2&quot;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   216
    Y.Cookie.setSub(&quot;name&quot;, &quot;subname2&quot;, &quot;value2&quot;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   217
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   218
    &#x2F;&#x2F;set subcookie on the &quot;yahoo.com&quot; domain
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   219
    Y.Cookie.setSub(&quot;info&quot;, &quot;age&quot;, 22, { domain: &quot;yahoo.com&quot; });
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   220
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   221
    &#x2F;&#x2F;set subcookie to a secure cookie named &quot;user&quot;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   222
    Y.Cookie.setSub(&quot;user&quot;, &quot;name&quot;, &quot;ace123&quot;, { secure:true });                        
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   223
});</pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   224
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   225
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   226
<p>It's possible to set the entire contents of a subcookie by using the <code>setSubs()</code> method, which accepts three arguments:
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   227
the name of the cookie, and object containing name-value pairs, and an optional cookie options object. For instance, this code
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   228
sets three subcookies at once:</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   229
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   230
<pre class="code prettyprint">&#x2F;&#x2F; Create a YUI instance and use the cookie module.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   231
YUI().use(&#x27;cookie&#x27;, function(Y){
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   232
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   233
    var data = {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   234
        name: &quot;ace123&quot;,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   235
        age: 22,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   236
        track: true
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   237
    };                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   238
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   239
    &#x2F;&#x2F;set a cookie named &quot;user&quot; with subcookies
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   240
    Y.Cookie.setSubs(&quot;user&quot;, data);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   241
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   242
});</pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   243
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   244
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   245
<p>Note that calls to <code>setSubs()</code> will always completely overwrite the cookie.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   246
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   247
<p>To retrieve subcookie values, there are two methods. The first is <code>getSub()</code>, which retrieves a single subcookie value.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   248
This method accepts three arguments: the cookie name, the subcookie name, and an optional converter function. As with <code>get()</code>,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   249
the converter function changes the data or type of data retrieved from the cookie before it's returned (and isn't called at all
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   250
if the cookie or subcookie doesn't exist):</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   251
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   252
<pre class="code prettyprint">&#x2F;&#x2F; Create a YUI instance and use the cookie module.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   253
YUI().use(&#x27;cookie&#x27;, function(Y){
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   254
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   255
    &#x2F;&#x2F;get subcookie
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   256
    var stringValue = Y.Cookie.getSub(&quot;name&quot;, &quot;subname&quot;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   257
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   258
    &#x2F;&#x2F;get subcookie and convert to number
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   259
    var numberValue = Y.Cookie.getSub(&quot;user&quot;, &quot;age&quot;, Number);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   260
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   261
    &#x2F;&#x2F;get subcookie and convert from hex code to decimal number
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   262
    var integerValue = Y.Cookie.getSub(&quot;settings&quot;, &quot;bgcolor&quot;, function(stringValue){
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   263
        return parseInt(stringValue, 16);   &#x2F;&#x2F; Create a number from a hexadecimal code
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   264
    });
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   265
    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   266
});</pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   267
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   268
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   269
<p>The second method to retrieve subcookies is <code>getSubs()</code>, which retrieves all subcookies and returns an object
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   270
with name-value pairs for each subcookie. The <code>getSubs()</code> method takes a single argument, the name of the cookie
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   271
containing subcookies to retrieve. The returned value is either an object or <code>null</code> if the cookie doesn't exist.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   272
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   273
<pre class="code prettyprint">&#x2F;&#x2F; Create a YUI instance and use the cookie module.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   274
YUI().use(&#x27;cookie&#x27;, function(Y){
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   275
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   276
    &#x2F;&#x2F;get all subcookies
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   277
    var data = Y.Cookie.getSubs(&quot;name&quot;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   278
    var subValue = data.subname;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   279
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   280
    &#x2F;&#x2F;get all subcookies
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   281
    var user = Y.Cookie.getSubs(&quot;user&quot;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   282
    var userName = user.name;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   283
    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   284
});</pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   285
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   286
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   287
<p>Removing subcookies is accomplished using the <code>removeSub()</code> method. This method accepts three arguments: the cookie name, the subcookie name, and an optional cookie options object. The options object, if specified, must have the same options
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   288
as when the cookie was originally created. Example:</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   289
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   290
<pre class="code prettyprint">&#x2F;&#x2F; Create a YUI instance and use the cookie module.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   291
YUI().use(&#x27;cookie&#x27;, function(Y){
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   292
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   293
    &#x2F;&#x2F;set subcookie on the &quot;yahoo.com&quot; domain
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   294
    Y.Cookie.setSub(&quot;info&quot;, &quot;age&quot;, 22, { domain: &quot;yahoo.com&quot; });
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   295
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   296
    &#x2F;&#x2F;remove the subcookie
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   297
    Y.Cookie.removeSub(&quot;info&quot;, &quot;age&quot;, { domain: &quot;yahoo.com&quot; });                        
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   298
});</pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   299
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   300
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   301
<p>Removing a subcookie keeps all other subcookies for that cookie intact. If you want to remove all subcookies, it's easiest to use <code>remove()</code> to remove the entire cookie.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   302
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   303
<p>When the last subcookie is removed, the overall cookie still remains. If you'd like to remove the cookie when the last subcookie is removed, then specify the "removeIfEmpty" option:</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   304
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   305
<pre class="code prettyprint">&#x2F;&#x2F; Create a YUI instance and use the cookie module.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   306
YUI().use(&#x27;cookie&#x27;, function(Y){
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   307
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   308
    &#x2F;&#x2F;remove the subcookie
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   309
    Y.Cookie.removeSub(&quot;info&quot;, &quot;age&quot;, { removeIfEmpty: true });                        
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   310
});</pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   311
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   312
</div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   313
            </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   314
        </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   315
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   316
        <div class="yui3-u-1-4">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   317
            <div class="sidebar">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   318
                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   319
                    <div id="toc" class="sidebox">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   320
                        <div class="hd">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   321
                            <h2 class="no-toc">Table of Contents</h2>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   322
                        </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   323
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   324
                        <div class="bd">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   325
                            <ul class="toc">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   326
<li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   327
<a href="#getting-started">Getting Started</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   328
</li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   329
<li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   330
<a href="#using">Using the Cookie Utility</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   331
<ul class="toc">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   332
<li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   333
<a href="#create">Creating Cookies</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   334
</li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   335
<li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   336
<a href="#read">Reading Cookies</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   337
</li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   338
<li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   339
<a href="#delete">Deleting Cookies</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   340
</li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   341
<li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   342
<a href="#sub">Subcookies</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   343
</li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   344
</ul>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   345
</li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   346
</ul>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   347
                        </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   348
                    </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   349
                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   350
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   351
                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   352
                    <div class="sidebox">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   353
                        <div class="hd">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   354
                            <h2 class="no-toc">Examples</h2>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   355
                        </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   356
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   357
                        <div class="bd">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   358
                            <ul class="examples">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   359
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   360
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   361
                                        <li data-description="Demonstrates basic usage of the Cookie utility for reading and writing cookies.">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   362
                                            <a href="cookie-simple-example.html">Simple Cookie Example</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   363
                                        </li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   364
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   365
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   366
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   367
                                        <li data-description="Demonstrates using the Cookie utility to get, set and remove cookies.">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   368
                                            <a href="cookie-advanced-example.html">Advanced Cookie Example</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   369
                                        </li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   370
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   371
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   372
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   373
                                        <li data-description="Demonstrates using the Cookie utility to get and set subcookies.">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   374
                                            <a href="cookie-subcookie-example.html">Subcookie Example</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   375
                                        </li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   376
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   377
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   378
                            </ul>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   379
                        </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   380
                    </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   381
                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   382
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   383
                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   384
            </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   385
        </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   386
    </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   387
</div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   388
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   389
<script src="../assets/vendor/prettify/prettify-min.js"></script>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   390
<script>prettyPrint();</script>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   391
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   392
<script>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   393
YUI.Env.Tests = {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   394
    examples: [],
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   395
    project: '../assets',
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   396
    assets: '../assets/cookie',
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   397
    name: 'cookie',
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   398
    title: 'Cookie Utility',
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   399
    newWindow: '',
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   400
    auto:  false 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   401
};
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   402
YUI.Env.Tests.examples.push('cookie-simple-example');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   403
YUI.Env.Tests.examples.push('cookie-advanced-example');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   404
YUI.Env.Tests.examples.push('cookie-subcookie-example');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   405
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   406
</script>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   407
<script src="../assets/yui/test-runner.js"></script>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   408
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   409
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   410
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   411
</body>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   412
</html>