History API - PushState Example

by bizamajig

HTML

<button>pushState</button>
<pre></pre>

JavaScript

function load(url, state) {
    $("pre").append(new Date
                    + "\n" + url
                    + "\n" + JSON.stringify(state)
                    + "\n\n");
}

function pushState(data, title, url) {
    history.pushState(data, title, url);
    load(location.href, data);
}

window.onpopstate = function(e) {
    load(location.href, e.state);
};

$("button").click(function() {
    pushState({foo: "bar"}, "test", "/test?a=b");
});