哪个Javascript历史回复实现最好?

在Micrososft AJAX和jQuery( http://www.asual.com/jquery/address/ )中有history.back的实现。 我已经在我的项目中包含了jQuery和asp.net ajax,但我不确定history.back的哪个实现更好。

对我来说更好的是:

  1. 已经被一些大型项目使用过
  2. 广泛的浏览器支持
  3. 易于实施
  4. 占地面积小

有人知道哪一个更好吗?

编辑:

另一个jquery插件是http://plugins.jquery.com/project/history它在JQuery Cookbook一书中推荐。 这个到目前为止运作良好。

jQuery Address的一个替代方案是很好的jQuery 历史插件。 还有URL Utils 。

参考: AJAX历史和书签 。

如果您正在构建一个ASP.NET应用程序,那么使用ASP.NET Ajax Framework可以为您提供许多优势和一个简单的API来使用服务器端。

下面是一个使用ASP.NET Ajax浏览器历史记录的示例

创建一个类似Facebook的AJAX图库

两者都在浏览器中提供广泛的支持。 对于我来说,更容易将Microsoft AJAX Framework集成到ASP.NET页面中,所以如果你有一个.aspx页面,它可能更容易使用ASP.NET AJAX

如果您不需要完全AJAX,即根据请求仅更新站点的部分就足够了,那么您可以使用不可见的iframe作为目标来加载生成的HTML文件,该文件仅包含更新/重置“可更新”部分的JS脚本现场。 这是跨浏览器的解决方案,不需要地址轮询。

示例,但不在ASP中: kociszkowo.pl (波兰站点)

当您在部分图标中单击并且您的浏览器支持javascript时,链接在被提取之前被修改 – 目标被更改为iframe并且href后缀为.dhtml以通知服务器,我们对该页面的特殊版本感兴趣。 如果在配备js的浏览器中按Back,则会从缓存中加载先前获取的iframe页面。 很简单,但需要在架构层面做出一些决定。

这个链接修改在这里是无关紧要的,它只是结合JS /非JS世界的结果。

根据我的经验,您最好的选择是使用与您最多(如果不是全部)ajax调用相同的那个。 例如,如果您使用的是asp:UpdatePanel,请使用MS – 如果您使用的是jQuery.ajax,请使用jQuery历史插件。 如果你正在做混合(我试图在我的项目中避免),我会亲自测试两者并看看哪个表现更好 – 如果它们都测试得很好,那么这是一个偏好。 有些人可能认为微软会有更好的支持,但jQuery的历史插件可能会得到更多的使用和更成熟。

http://msdn.microsoft.com/en-us/library/system.web.ui.updatepanel.aspx

http://docs.jquery.com/Ajax/jQuery.ajax#options