Home > Article > Web Front-end > Introduction to the method of loading navigation history when using jQuery mobile class library_jquery
jQuery.mobile.navigate( url [, data ] )
Change URL and track history. Works for browsers and history-free new API
History of browser moving backwards when changing hash fragment twice and then log providing navigation event data
// Starting at http://example.com/ // Alter the URL: http://example.com/ => http://example.com/#foo $.mobile.navigate( "#foo", { info: "info about the #foo hash" }); // Alter the URL: http://example.com/#foo => http://example.com/#bar $.mobile.navigate( "#bar" ); // Bind to the navigate event $( window ).on( "navigate", function( event, data ) { console.log( data.state.info ); console.log( data.state.direction ) console.log( data.state.url ) console.log( data.state.hash ) }); // Alter the URL: http://example.com/#bar => http://example.com/#foo window.history.back(); // From the `navigate` binding on the window, console output: // => "info about the #foo hash" // => "back" // => "http://example.com/#bar // => "#bar"
Hijack a link click using the navigation method and then load the content
// Starting at http://example.com/ // Define a click binding for all anchors in the page $( "a" ).on( "click", function( event ) { // Prevent the usual navigation behavior event.preventDefault(); // Alter the url according to the anchor's href attribute, and // store the data-foo attribute information with the url $.mobile.navigate( this.attr( "href" ), { foo: this.attr( "data-foo" ) }); // Hypothetical content alteration based on the url. E.g, make // an ajax request for JSON data and render a template into the page. alterContent( this.attr( "href" ) ); });