html app返回键,App.js添加浏览器返回键支持

(function(App,$){

var appLoad = App.load;

var appBack = App.back;

App.load = function(pageInfo, args, options, callback){

var pageName = null;

var url = null;

if(typeof pageInfo ==="string"){

pageName = pageInfo;

}else if(typeof pageInfo === "object"){

pageName = pageInfo.name;

url = pageInfo.url;

}

pushState(pageName); //

// 是否有同名的页面已经加载

if (App._Pages.has(pageName)) {

appLoad(pageName, args, options, callback);

return;

}

// 解析传入的html

function parsePage(html){

return html; // TODO we can enhance this

}

$.get(url,function(res){

var pageHtml = parsePage(res);

var page = $(pageHtml).appendTo("body");

App.add(pageName,page[0]);

appLoad(pageName, args, options, callback);

});

};

var internalBack = false;

App.back = function(pageName, callback){

internalBack = true;

appBack(pageName, callback);

history.back();

};

function pushState(pageName){

window.history.pushState({name:pageName},"","#/"+pageName);

}

window.onpopstate = function(event){

var state = event.state;

if(!internalBack){

appBack();

}

internalBack = false;

}

})(window.App,$);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值