Skip to content
It's a jQuery plugin that lets manage the browser history and compatible with all browsers (including IE6).
JavaScript CSS HTML
Branch: master
Clone or download
Latest commit a321d12 Oct 27, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
examples Update index.php Oct 27, 2018
tests v1.1.0 Jul 20, 2013
LICENSE Update LICENSE Oct 27, 2018
README.md Update README.md Oct 27, 2018
jquery.history.js v1.1.0 Jul 20, 2013
jquery.history.min.js v1.1.0 Jul 20, 2013

README.md

jQuery.history v1.1.0

What is it?

It's a jQuery plugin that lets manage the browser history using history.pushState (HTML5) and cross-browser compatibility (including IE6).

Demo online

http://fiddle.jshell.net/yeikos/rcZWb/show/light

Changelog

v1.1.0 - 20/07/13

  • New methods: url, type.

  • New event: pushed.

  • Bug fix in load event.

v1.0.1 - 07/05/13

  • Bug fix in load event.

v1.0.0 - 28/01/13

  • Initial version.

Example

<!DOCTYPE html><html>

	<head>

		<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>

		<script src="https://cdn.jsdelivr.net/gh/yeikos/jquery.history/jquery.history.js"></script>

		<script>

			$(function() {

				$.history.on('load change push pushed', function(event, url, type) {

					alert(event.type + ': ' + url);

				}).listen('hash');

				$('body').on('click', 'a', function(event) {

					$.history.push($(this).attr('href'));

					event.preventDefault();

				});

				$('button').click(function() {

					location.reload();

				});

			});

		</script>

	</head>

	<body>

		<ul>

			<li><a href="/one">one</a></li>

			<li><a href="/two">two</a></li>

			<li><a href="/three">three</a></li>

			<li><a href="/four">four</a></li>

		</ul>

		<button>refresh</button>

	</body>

</html>

Events

load

Fired when the listen is started.

push

Fired before jQuery.history.push is called (it can be prevented).

pushed

Fired after jQuery.history.push is called.

change

Fired when it happens a change in browser history (back, forward, go).

All events are trigger passing two arguments (address, listen type).

API Methods

jQuery.history.push(address)

address: string.

Add a new address to history (first it is needed call to listen).

returns jQuery.history.


jQuery.history.listen()

Starts a automatic listening in base to browser support and in this order: pathname, hash or hash interval.

returns jQuery.history.

jQuery.history.listen('pathname')

Starts a listening using pathname (pushState).

returns jQuery.history.

jQuery.history.listen('hash')

Starts a listening using hash (onhaschange). If browser doesn't supports it, then it will use a emulation (hash interval).

returns jQuery.history.

jQuery.history.listen('hash', interval)

interval: interval delay (number). If interval is true, it will convert to jQuery.history.config.interval.

Starts a listening using an emulation (hash interval).

returns jQuery.history.


jQuery.history.unlisten()

Undoes all changes done by jQuery.history.listen.

returns jQuery.history.


jQuery.history.url()

Get the current URL.

returns string.


jQuery.history.type()

Get the current listening type (hash, pathname or null).

returns string or null.


jQuery.history.on

http://api.jquery.com/on/

returns jQuery.history.


jQuery.history.off

http://api.jquery.com/off/

returns jQuery.history.


jQuery.history.trigger

http://api.jquery.com/trigger/

returns jQuery.history.

You can’t perform that action at this time.