history.pushStateผลักสถานะหน้าปัจจุบันไปยังกองประวัติและเปลี่ยน URL ในแถบที่อยู่ ดังนั้นเมื่อคุณย้อนกลับไปสถานะนั้น (วัตถุที่คุณส่งผ่าน) จะกลับมาหาคุณ
ปัจจุบันนั่นคือทั้งหมดที่ทำ การดำเนินการอื่น ๆ ของเพจเช่นการแสดงเพจใหม่หรือการเปลี่ยนชื่อเพจจะต้องดำเนินการโดยคุณ
ข้อมูลจำเพาะ W3C ที่คุณเชื่อมโยงเป็นเพียงแบบร่างและเบราว์เซอร์อาจใช้งานแตกต่าง  ตัวอย่างเช่นFirefoxละเว้นtitleพารามิเตอร์อย่างสมบูรณ์
นี่คือตัวอย่างง่ายๆpushStateที่ฉันใช้บนเว็บไซต์ของฉัน
(function($){
    // Use AJAX to load the page, and change the title
    function loadPage(sel, p){
        $(sel).load(p + ' #content', function(){
            document.title = $('#pageData').data('title');
        });
    }
    // When a link is clicked, use AJAX to load that page
    // but use pushState to change the URL bar
    $(document).on('click', 'a', function(e){
        e.preventDefault();
        history.pushState({page: this.href}, '', this.href);
        loadPage('#frontPage', this.href);
    });
    // This event is triggered when you visit a page in the history
    // like when yu push the "back" button
    $(window).on('popstate', function(e){
        loadPage('#frontPage', location.pathname);
        console.log(e.originalEvent.state);
    });
}(jQuery));