Namespace hasher
History Manager for rich-media applications.
Defined in: hasher.js.
String that should always be added to the end of Hash value.
- default value: '';
- will be automatically removed from `hasher.getHash()`
- avoid conflicts with elements that contain ID equal to hash value;
Signal dispatched when hash value changes. - pass current hash as 1st parameter to listeners and previous hash value as 2nd parameter.
Signal dispatched when hasher is initialized. - pass current hash as first parameter to listeners.
String that should always be added to the beginning of Hash value.
- default value: '/';
- will be automatically removed from `hasher.getHash()`
- avoid conflicts with elements that contain ID equal to hash value;
String used to split hash paths; used by hasher.getHashAsArray()
to split paths.
- default value: '/';
Removes all event listeners, stops hasher and destroy hasher object. - IMPORTANT: hasher won't work after calling this method, hasher Object will be deleted.
- Returns:
- {string} Hash value without '#', `hasher.appendHash` and `hasher.prependHash`.
Start listening/dispatching changes in the hash/history.
- hasher won't dispatch CHANGE events by manually typing a new value or pressing the back/forward buttons before calling this method.
- Returns:
- {boolean} If hasher is listening to changes on the browser history and/or hash value.
Set Hash value without keeping previous hash on the history record.
Similar to calling window.location.replace("#/hash")
but will also work on IE6-7.
hasher.replaceHash('lorem', 'ipsum', 'dolor') -> '#/lorem/ipsum/dolor'
- Parameters:
- {...string} path
- Hash value without '#'. Hasher will join path segments using `hasher.separator` and prepend/append hash value with `hasher.appendHash` and `hasher.prependHash`
Set Hash value, generating a new history record.
hasher.setHash('lorem', 'ipsum', 'dolor') -> '#/lorem/ipsum/dolor'
- Parameters:
- {...string} path
- Hash value without '#'. Hasher will join path segments using `hasher.separator` and prepend/append hash value with `hasher.appendHash` and `hasher.prependHash`
Stop listening/dispatching changes in the hash/history.
- hasher won't dispatch CHANGE events by manually typing a new value or pressing the back/forward buttons after calling this method, unless you call hasher.init() again.
- hasher will still dispatch changes made programatically by calling hasher.setHash();