Despite all the advances made in HTML5, browsers still have a very strange cookie API. The way it works is error-prone and inconsistent with the normal semantics of JavaScript.
The global
document
object has a cookie
property, if a string is assigned to it, it magically adds the specified cookie to the list of cookies. When an attempt to read the cookie is made, a different value containing all the cookies is returned.
This API is not very useful without a wrapper. In this recipe, we're going to wrap this API in a wrapper that actually makes sense. We're going to test this wrapper by making a form page that saves itself on every modification (preserving the data after a page reload) for two minutes.