window.addEventListener("hashchange",function(){ var hash = window.location.hash.replace("#",""); var sp = hash.split("~"); console.log("current router is ",sp,hash); var controller = sp[0] || "home"; if(sp.length == 2){ var params = sp[1]; var t = params.split("&"); console.log(t); var states = {}; for(var i = 0 ; i < t.length ; i++){ states[t[i].split("=")[0]] = t[i].split("=")[1] || ""; } } KS.Router.navTo(controller,states,true); },false);
通过hashchange监听,并且在真正实现跳转的时候讲history存入即可
run:function(){ var hash = window.location.hash.replace("#",""); var sp = hash.split("~"); console.log("current router is ",sp,hash); var controller = sp[0] || "home"; if(sp.length == 2){ var params = sp[1]; var t = params.split("&"); console.log(t); var states = {}; for(var i = 0 ; i < t.length ; i++){ states[t[i].split("=")[0]] = t[i].split("=")[1] || ""; } } if(KS.Router.routers[controller]){ var state = window.history.state; KS.Router.navTo(controller,state); }else{ var defaultController = this.routers[KS.config.welcome]; window.history.pushState(null,"home page","./"); defaultController.run(); } }, navTo:function(controller,pageParam,replace){ for(var i = 0 ; i < KS.events.length ; i++){ KS.events[i].el.removeEventListener(KS.events[i].type,KS.events[i].name,false); } KS.cController = controller; var location = window.location; console.log("nav to "+controller,pageParam); var defaultController = this.routers[controller]; console.log("routers is "+ controller); if(pageParam) pageParam['controller'] = controller; else pageParam = {controller:controller} if(controller != "play"){ }else{ KS.playParam = pageParam; } //KS.resetNav(controller); defaultController.run(); }
相关推荐
第5章 ASP.NET应用程序 5.1 剖析ASP.NET应用程序 5.1.1 应用程序域 5.1.2 应用程序生命周期 5.1.3 应用程序更新 5.1.4 应用程序目录结构 5.2 global.asax应用程序文件 5.2.1 应用程序事件 5.2.2 ...
Activity Activity是一个应用程序组件,提供一个屏幕,用户可以用来交互为了完成某项任务,是一个负责与用户交互的组件 SSH 为 Struts+Spring+Hibernate的一个集成框架,是目前较流行的一种Web应用程序开源框架。...
第5章 ASP.NET应用程序 137 5.1 剖析ASP.NET应用程序 137 5.1.1 应用程序域 137 5.1.2 应用程序生命周期 138 5.1.3 应用程序更新 139 5.1.4 应用程序目录结构 139 5.2 global.asax应用程序文件 140 ...
EmailContacts应用程序的目的是管理任何RDBMS数据库中的联系人,提供一种能够向其发送消息并维护任何已发送电子邮件的滚动历史记录的表单。 该应用程序还提供了一个选项,使电子邮件可以通过发送和处理。 整个UI...
应用历史记录状态 作者: 亚历克斯·拉塞尔 汤姆·威尔金森 参加 目录 服务人员导航事件 内置客户端路由 开放式设计问题 参考和致谢 介绍 在对动态Web应用程序执行客户端更新时,应用程序开发人员面临一系列挑战...
1.2 .NET应用程序需框架 1.2.1 什么是.NET应用程序框架 1.2.2 公共语言运行时(CLR) 1.2.3 .NET Framework 类库 1.3 安装Visual Studio 2008 1.3.1 安装Visual Studio 2008 1.3.2 主窗口 1.3.3 文档窗口 1.3.4 工具...
1.2 .NET 应用程序需框架 1.2.1 什么是.NET 应用程序框架 1.2.2 公共语言运行时(CLR) 1.2.3 .NET Framework 类库 1.3 安装Visual Studio 2008 1.3.1 安装Visual Studio 2008 1.3.2 主窗口 1.3.3 文档窗口 1.3.4 ...
1.2 .NET应用程序需框架 1.2.1 什么是.NET应用程序框架 1.2.2 公共语言运行时(CLR) 1.2.3 .NET Framework 类库 1.3 安装Visual Studio 2008 1.3.1 安装Visual Studio 2008 1.3.2 主窗口 1.3.3 文档窗口 1.3.4 工具...
1.2 .NET应用程序需框架 1.2.1 什么是.NET应用程序框架 1.2.2 公共语言运行时(CLR) 1.2.3 .NET Framework 类库 1.3 安装Visual Studio 2008 1.3.1 安装Visual Studio 2008 1.3.2 主窗口 1.3.3 文档窗口 1.3.4 工具...
1.2.1 什么是.NET应用程序框架 1.2.2 公共语言运行时(CLR) 1.2.3 .NET Framework 类库 1.3 安装Visual Studio 2008 1.3.1 安装Visual Studio 2008 1.3.2 主窗口 1.3.3 文档窗口 1.3.4 工具箱 1.3.5 解决方案管理器...
1.2.1 什么是.NET应用程序框架 1.2.2 公共语言运行时(CLR) 1.2.3 .NET Framework 类库 1.3 安装Visual Studio 2008 1.3.1 安装Visual Studio 2008 1.3.2 主窗口 1.3.3 文档窗口 1.3.4 工具箱 1.3.5 解决方案管理器...
程序描述:本章将介绍 GWT应用中高级应用的部分,包括各中组件和布局、如何发送XMLHttpRequest请求,以及如何解决浏览器历史记录问题等等,同时读者还将详细的了解RPC应用的开发过程。 /xmlsample/AjaxSample....
13.4 应用自动化功能从Access运行其他应用程序 395 13.4.1 在Access中调用Word 396 13.4.2 在Access中调用Excel 402 13.4.3 在Access中调用Microsoft Graph 404 13.4.4 在Access中调用Microsoft Project 407...
清除网页历史记录,屏蔽后退按钮! 如何传值在2个页面之间 :要求不刷新父页面,并且不能用Querystring传值 Asp.net地址转义(分析)加强版 Web的桌面提醒(Popup) Using the Popup Object Click button only once ...
13.4 应用自动化功能从Access运行其他应用程序 395 13.4.1 在Access中调用Word 396 13.4.2 在Access中调用Excel 402 13.4.3 在Access中调用Microsoft Graph 404 13.4.4 在Access中调用Microsoft Project 407 ...