jQuery mobile类库使用时加载导航历史的方法简介
jQuery.mobile.navigate(url[,data])
改变URL和跟踪历史。作品为浏览器和无历史新的API
- url:是必须的参数。类型:字符串
- data:是可选的参数。类型:对象。
更改哈希片段两次然后日志提供导航事件数据时,浏览器向后移动的历史
//Startingathttp://example.com/
//AltertheURL:http://example.com/=>http://example.com/#foo
$.mobile.navigate("#foo",{info:"infoaboutthe#foohash"});
//AltertheURL:http://example.com/#foo=>http://example.com/#bar
$.mobile.navigate("#bar");
//Bindtothenavigateevent
$(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)
});
//AltertheURL:http://example.com/#bar=>http://example.com/#foo
window.history.back();
//Fromthe`navigate`bindingonthewindow,consoleoutput:
//=>"infoaboutthe#foohash"
//=>"back"
//=>"http://example.com/#bar
//=>"#bar"
劫持一个链接点击使用导航方法,然后加载内容
//Startingathttp://example.com/
//Defineaclickbindingforallanchorsinthepage
$("a").on("click",function(event){
//Preventtheusualnavigationbehavior
event.preventDefault();
//Altertheurlaccordingtotheanchor'shrefattribute,and
//storethedata-fooattributeinformationwiththeurl
$.mobile.navigate(this.attr("href"),{foo:this.attr("data-foo")});
//Hypotheticalcontentalterationbasedontheurl.E.g,make
//anajaxrequestforJSONdataandrenderatemplateintothepage.
alterContent(this.attr("href"));
});