dsHistory internally works somewhat similar to the other history solutions that exist, but it is implemented more like dojo’s bind than anything else. It requires no supporting libraries, it checks in at just over 7kb when compressed, and it is easy to use. The history is thought of as a series of events that have functions attached to them, and the bookmarkable window hash data is designed to be controlled independently from the events (if it is even utilized at all, which I’ve found isn’t desired at times).
Andrew details his travels on getting this library out by discussing those who came before him:
- Really Simple History (RSH), Brad Neuberg
- AJAX-Nav, Mike Stenhouse
- dojo.io.bind, Alex Russell, et al
- YUI Browser History Manager, Julien Lecomte
Check out examples to get started. It explains most everything you’ll need to know really. If you’d like to use it, you can download the zip. It contains the usage.html file, the uncompressed dshistory.js file, the compressed dshistory.compressed.js file, and the dshistory.html supporting asset file.