当前位置:  开发笔记 > 编程语言 > 正文

AJAX和浏览器后退按钮

如何解决《AJAX和浏览器后退按钮》经验,为你挑选了4个好方法。

我在www.darknovagames.com上运行了一个基于浏览器的游戏.最近,我一直在努力使用CSS重新格式化网站,尝试根据HTML标准验证其所有页面.

我一直在想着让左边的AJAX导航菜单进入页面的想法(而不是每次都将用户带到一个单独的页面,需要重新加载标题和导航栏,这几乎不会改变)和我知道如果我这样做,我可能会破坏浏览器中的前进/后退按钮.我想我的问题是,我应该继续使用AJAX网站,因此要求用户使用网站导航来玩游戏,还是应该离开现在的网站,并使用标准的超链接和导航的东西?

我猜我猜的原因是我在网站上建立了一个论坛系统,很多时候我想把它说到论坛里的特定话题.

我也愿意接受建议.是否有标准(最好没有传统框架)的方式只使网站的主体区域重新加载,同时仍然更改URL,以便用户可以书签和转发/返回等?这也可能解决我的问题.我只是在这里要求最好的解决方案,而不是特定问题的答案.^ _ ^

谢谢



1> Ben Scheirma..:

将ajax用于需要更新的页面部分,而不是整个部分.为此你应该使用模板.

如果您仍希望保留页面上各种状态更改的后退按钮,请将它们与#achors组合以更改URL(不强制浏览器发出另一个GET).

例如,gmail看起来像这样:

mail.google.com/#inbox/message-1234

#之后的所有内容都是通过ajax发生的页面状态更改.如果我按Back,我会再次进入收件箱(再次,没有其他浏览器GET)



2> Matt Howell..:

如果您要启用AJAX,请不要以您网站上每个重要网页的可访问网址为代价.这是人们可以使用的可导航网站的支柱.

当您将所有功能都转换为AJAX调用和回调时,您基本上会强迫您的用户访问他们想要的功能和内容 - 这完全违背了Web的运行方式.人们依赖地址栏和后退按钮.如果您覆盖所有链接,以便您的网站基本上只是一个仅通过AJAX进行更新的网页,那么您将限制用户浏览网站并找到所需内容的能力.它还可以阻止您的用户分享他们找到的内容(这是关键点的一部分,对吧?).

考虑用户的网站心智图.如果他们知道他们是通过主页进入的,那么他们会去寻找一些东西,然后他们登陆游戏页面,然后他们开始玩特定的游戏,这是用户采取的四种不同的行动单位.他们可能在这些页面上做了一些其他更小,更微不足道的行动 - 但这些是主要单位.当他们点击"后退"按钮时,他们应该回过头来看看他们进入的路径.如果您通过AJAX调用加载所有这些页面,那么您将提供一个功能与用户期望相反的站点.

将您的网站分解为每个重要功能(即搜索,家庭,个人资料,游戏 - 它将取决于您的网站的所有内容).您链接到这些页面的任何位置,都可以通过常规链接和静态URL进行操作.

AJAX很好.但它的艺术是知道何时使用它以及何时不使用它.如果你保持我上面概述的模型,你的用户会很感激.


这个答案已经过时了
我不同意.显然,人们对这个问题有不同的看法,但我仍然认为在构建网站(或"应用程序")时应该尊重网络的基本架构.对我来说,这是一个良好的工程实践问题,这是足够令人信服的理由.此外,如果你做对了,没有理由你不能拥有AJAX的所有最后的好处,但仍然尊重URL的结构.

3> Kevin Hakans..:

看看真实的历史.维基已经有10个月没有更新了,但我刚刚参加了Ajax Experience 2008,并看到了Brian Dillard 的演讲.他说0.8代码在他的硬盘上.希望它可以很快下载.



4> Raspu..:

另一种方案:

AJAX分页和后退按钮

这似乎是最好的一个,适用于JQuery和Mootools.

推荐阅读
sx-March23
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有