location-history
v1.1.2
Published
Lightweight browser location history abstraction
Downloads
179
Maintainers
Readme
location-history
Lightweight browser location history abstraction
Works in the browser with browserify! This module is used by WebTorrent Desktop.
install
npm install location-history
usage
var LocationHistory = require('location-history')
var location = new LocationHistory()
// Navigate to a page
location.go({ url: 'first-url', data: 'hi' })
console.log(location.current()) // { url: 'first-url', data: 'hi' }
console.log(location.url()) // 'first-url'
// Navigate to a second page
location.go({ url: 'second-url' })
console.log(location.url()) // 'second-url'
// Go back one page
location.back()
console.log(location.url()) // 'first-url'
// Go forward one page
location.forward()
console.log(location.url()) // 'second-url'
api
location = LocationHistory()
Create a new location history instance.
location.current()
Returns the current page object.
location.url()
Return the current page object's url
property.
location.go(page, [callback])
Navigate to a new page. page
should be an object with a url
property.
Optionally, specify a setup
function property to be called before the page
becomes the current one. setup
will be passed a callback
function that should
be called with a null
or Error
object as the first property.
location.go({
url: 'my-url',
setup: function (cb) {
setTimeout(function () { // ... do any async operations
cb(null)
}, 100)
}
})
Optionally, specify a destroy
function property to be called after the page is
replaced with another one.
location.go({
url: 'my-url',
destroy: function () {
// ... do any cleanup operations
}
})
location.back([callback])
Navigate to the previous page. If there is no previous page, this does nothing.
Optionally, specify a callback
function to be called after the next page is
loaded (in case it has a setup
function).
location.forward([callback])
Navigate to the forward page. If there is no forward page, this does nothing.
Optionally, specify a callback
function to be called after the next page is
loaded (in case it has a setup
function).
location.cancel([callback])
Navigate to the previous page, and remove the current page from the history. If there is no previous page, this does nothing.
If you want the current page to stay in history (accessible via forward()
), see
back()
.
Optionally, specify a callback
function to be called after the next page is
loaded (in case it has a setup
function).
location.hasBack()
Returns true
if there is a previous page, else false
.
location.hasForward()
Returns true
if there is a forward page, else false
.
location.backToFirst([callback])
Navigate to the first page. Optionally, specify a callback
function to be
called after the first page is loaded.
location.clearForward([url])
Clear all forward pages. Useful in situations where the forward page no longer exists in the app.
Optionally, specify a url
and only pages with the given url
will be removed.
license
MIT. Copyright (c) Feross Aboukhadijeh.