AJAX后退按钮实现:它们如何工作?
我的页面到目前为止加载了一次,然后它就是那里的所有
AJAX,宝贝:D.显然,后退/前进/重新加载/历史/书签会严重破坏它.我正在研究一些解决方案(我正在关注jQuery插件,也就是烧烤或地址),我很好奇它们是如何实现的.
所有我非常感兴趣的是后退/前进功能,因为这是一个真正的“应用程序”,可供5-6人使用,以帮助协调他们的工作,不会形成或形成“网络文档”.我试图阻止一般用户习惯的窗口操作习惯破坏我的应用程序. 到目前为止,我还没有遇到过多个状态可以进入另一个状态的情况,因此我的返回功能实现起来相当简单.但是,没有使用“返回”功能实现返回功能,只需通过“取消”,“返回”和其他按钮. 但我离题了…到目前为止,我真的很喜欢一个简单的URL片段标识符系统的概念,以允许向后/向前功能,我真的想避免在问题上抛出其他人的代码(这是我的第一个webapp和我’我试图尽可能地痛苦地做所有事情以便学习). 好吧,没有更多的离题…我从this article在Content with Style中获得了印象,我可以使用计时器来轮询我的窗口URL并触发相应的AJAX操作. 我有兴趣知道的是: >如果用于修复AJAX后退/前进破坏的常用插件使用类似的方法,如果没有,他们使用什么方法? 解决方法
他们同时使用民意调查和
>轮询优点:并非所有浏览器都支持hashchange,因此它是跨浏览器的
如果您只为5个人编写应用程序,也可以强制他们使用支持hashchange事件的现代浏览器.然后你可以只用2-3行编写哈希变化检测:) window.onhashchange = function(event) { var url = event.newURL; // do something with new url };
是的,见上文.你可以用很少的代码编写一个更好的实现.例如,Rails使用router向控制器分派请求.路线定义如下: "/signup" -> (UsersController,new) "/user/(id)/photos" -> (PhotosController,index) 您可以定义自己的路由API以在JavaScript中注册路由及其处理函数/对象,并且比现有插件可以做更多更酷的事情,仅限于您的想象力:) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |