window.location.hash
hashchange
* Prefix to prepend when setting the hash fragment. For example, if the * prefix is ! and the hash fragment is set to * #foo=bar&baz=quux, the final hash fragment in the URL will * become #!foo=bar&baz=quux. This can be used to help make an * Ajax application crawlable in accordance with Google's guidelines at * http://code.google.com/web/ajaxcrawling/. *
!
#foo=bar&baz=quux
#!foo=bar&baz=quux
* Note that this prefix applies to all HistoryHash instances. It's not * possible for individual instances to use their own prefixes since they * all operate on the same URL. *
decodeURIComponent()
encodeURIComponent()
hashPrefix
window.onhashchange
onhashchange
history-hash