【问题标题】:Which Javascript history back implementation is the best?哪个 Javascript 历史回溯实现是最好的?
【发布时间】:2010-12-28 19:35:26
【问题描述】:

在 Microsoft 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,并且很少感到失望,尤其是在需要“广泛的浏览器支持”时。

标签: asp.net javascript jquery asp.net-mvc asp.net-ajax


【解决方案1】:

根据我的经验,您最好的选择是使用与您进行最多(如果不是全部)ajax 调用相同的方法。例如,如果您使用 asp:UpdatePanel's,请使用 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

【讨论】:

    【解决方案2】:

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

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

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

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

    【讨论】:

      【解决方案3】:

      jQuery Address 的一个替代方案是漂亮的 jQuery history 插件。还有URL Utils

      参考:AJAX History and Bookmarks

      【讨论】:

      • 我喜欢截屏视频“AJAX 历史和书签”。它使用被 jQuery BBQ 取代的 URL Utils,但它仍然是一个很好的起点。
      • 这是一篇不错的文章,其中包含 jquery.pager.js、microtemplates.js 和 jquery.ba-bbq.js 的链接stephenwalther.com/blog/archive/2010/04/08/…
      • jQuery 地址不适用于新版本的 jQuery。请参阅下面的答案。
      【解决方案4】:

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

      您可以在下面找到一个使用 ASP.NET Ajax 的浏览器历史记录的示例

      Create a Facebook-like AJAX image gallery

      两者在浏览器中都有广泛的支持。 对我来说,在 ASP.NET 页面中集成 Microsoft AJAX 框架更容易,所以再次如果您有一个 .aspx 页面可能更容易使用 ASP.NET AJAX

      【讨论】:

        猜你喜欢
        • 2014-05-03
        • 2014-01-05
        • 2018-07-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-01-17
        • 1970-01-01
        相关资源
        最近更新 更多