我在www.darknovagames.com上运行了一个基于浏览器的游戏.最近,我一直在努力使用CSS重新格式化网站,尝试根据HTML标准验证其所有页面.
我一直在想着让左边的AJAX导航菜单进入页面的想法(而不是每次都将用户带到一个单独的页面,需要重新加载标题和导航栏,这几乎不会改变)和我知道如果我这样做,我可能会破坏浏览器中的前进/后退按钮.我想我的问题是,我应该继续使用AJAX网站,因此要求用户使用网站导航来玩游戏,还是应该离开现在的网站,并使用标准的超链接和导航的东西?
我猜我猜的原因是我在网站上建立了一个论坛系统,很多时候我想把它说到论坛里的特定话题.
我也愿意接受建议.是否有标准(最好没有传统框架)的方式只使网站的主体区域重新加载,同时仍然更改URL,以便用户可以书签和转发/返回等?这也可能解决我的问题.我只是在这里要求最好的解决方案,而不是特定问题的答案.^ _ ^
谢谢
将ajax用于需要更新的页面部分,而不是整个部分.为此你应该使用模板.
如果您仍希望保留页面上各种状态更改的后退按钮,请将它们与#achors组合以更改URL(不强制浏览器发出另一个GET).
例如,gmail看起来像这样:
mail.google.com/#inbox/message-1234
#之后的所有内容都是通过ajax发生的页面状态更改.如果我按Back,我会再次进入收件箱(再次,没有其他浏览器GET)
如果您要启用AJAX,请不要以您网站上每个重要网页的可访问网址为代价.这是人们可以使用的可导航网站的支柱.
当您将所有功能都转换为AJAX调用和回调时,您基本上会强迫您的用户访问他们想要的功能和内容 - 这完全违背了Web的运行方式.人们依赖地址栏和后退按钮.如果您覆盖所有链接,以便您的网站基本上只是一个仅通过AJAX进行更新的网页,那么您将限制用户浏览网站并找到所需内容的能力.它还可以阻止您的用户分享他们找到的内容(这是关键点的一部分,对吧?).
考虑用户的网站心智图.如果他们知道他们是通过主页进入的,那么他们会去寻找一些东西,然后他们登陆游戏页面,然后他们开始玩特定的游戏,这是用户采取的四种不同的行动单位.他们可能在这些页面上做了一些其他更小,更微不足道的行动 - 但这些是主要单位.当他们点击"后退"按钮时,他们应该回过头来看看他们进入的路径.如果您通过AJAX调用加载所有这些页面,那么您将提供一个功能与用户期望相反的站点.
将您的网站分解为每个重要功能(即搜索,家庭,个人资料,游戏 - 它将取决于您的网站的所有内容).您链接到这些页面的任何位置,都可以通过常规链接和静态URL进行操作.
AJAX很好.但它的艺术是知道何时使用它以及何时不使用它.如果你保持我上面概述的模型,你的用户会很感激.
看看真实的历史.维基已经有10个月没有更新了,但我刚刚参加了Ajax Experience 2008,并看到了Brian Dillard 的演讲.他说0.8代码在他的硬盘上.希望它可以很快下载.
另一种方案:
AJAX分页和后退按钮
这似乎是最好的一个,适用于JQuery和Mootools.