首页 > 代码库 > App.js添加浏览器返回键支持
App.js添加浏览器返回键支持
app.js http://code.kik.com/app/2/index.html
(function(App,$){ var appLoad = App.load; var appBack = App.back; function getUrlPath(args, options, callback,url){ var path = null; if(typeof args === "string"){ path = args; }else if(typeof options === "string"){ path = options; }else if(typeof callback === "string"){ path = callback; }else if(typeof url === "string"){ path = url; } return path; } App.load = function(pageName, args, options, callback,url){ var url = getUrlPath(args, options, callback,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); $("body").append(pageHtml); var page = $(pageHtml).appendTo("body"); App.add(pageName,$("[data-page=‘"+pageName+"‘]")[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; console.log(state); if(!internalBack){ appBack(); } internalBack = false; } })(window.App,$);
App.js添加浏览器返回键支持
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。