我已经使用Hashchange事件插件制作了一些基本页面。但是现在我想构建更大的东西,但找不到以一种简单的方式找到正确的方法。
index.html从动画登录箱开始。如果您登录帐户,则登录箱逐渐消失 - 哈希更改为#start;内容 标题/页脚加载并逐渐淡入。目前这部分没问题。
主要原因是在不离开index.html的情况下激活"浏览器"按钮。我用ajax和哈希来存档。#start登录后加载主界面。#messages加载消息界面。两者都有一些额外的脚本 动画,每次更改都必须触发。
我的问题通常是,我不知道如何进入键链接。例如:用户在#messages(ajax Loads/php/messages.php,将其淡入)中。消息界面显示他的收件箱,底部有一个链接,可以到达他的发件箱。该链接有哪些选项?Messages.php等待get请求,例如?s = n以获取新消息,?s = o for Outbox。我该如何牢记这一点:活动浏览器返回按钮?
是否有一种方法,例如将HASH更改为#消息/Outbox 加载file/php/messages.php?s=o?jQuery代码应该如何?对于主要导航,我使用了开关功能,例如'switch(hash){case #start;case #messages}';这不能是最好的解决方案,因为我将获得更多的链接/哈希。
任何建议/解决方案?
我想,如果您希望您的URL对用户更有用,而不仅仅是返回按钮功能。
考虑用户在打开页面时粘贴以前保存的URL,您想将它们带到他们想要的地方,对吗?
因此,考虑到这一点,我只会关心更改哈希(当您想将其固定为历史记录/书签状态时),然后在Hashchange事件上处理页面和操作内容。如果您使用的是Hashchange事件插件,则可能要看一下jQuery BBQ:Back Button&查询库,"提供完整的.deparam()方法,以及哈希州管理,以及片段/查询字符串分析和合并实用程序方法。"使它变得更加容易。