Flash(或AJAX)浏览器历史记录

Flash(或AJAX)浏览器历史记录,ajax,apache-flex,flash,actionscript-3,browser-history,Ajax,Apache Flex,Flash,Actionscript 3,Browser History,为Flash或AJAX网站启用浏览器历史记录的最佳工具/实践是什么? 我猜既定的做法是设置并读取URL中添加的哈希值,如 http://example.com/#id=1 我知道Flex历史管理器,但想知道是否有其他好的备选方案可以考虑。也会对通用AJAX解决方案或最佳实践感兴趣。对于AJAX,类似的东西很好。对于AJAX,类似的东西很好。我用过一些小东西。我用过一些小东西。这看起来有点迂回,但我目前正在使用dojo框架。当我的UI主要是JS/HTML时,有一个dojo.back非常有用。现在

为Flash或AJAX网站启用浏览器历史记录的最佳工具/实践是什么? 我猜既定的做法是设置并读取URL中添加的哈希值,如

http://example.com/#id=1

我知道Flex历史管理器,但想知道是否有其他好的备选方案可以考虑。也会对通用AJAX解决方案或最佳实践感兴趣。

对于AJAX,类似的东西很好。

对于AJAX,类似的东西很好。

我用过一些小东西。

我用过一些小东西。

这看起来有点迂回,但我目前正在使用dojo框架。当我的UI主要是JS/HTML时,有一个dojo.back非常有用。现在我已经使用flex来获得更多的功能、流畅的动画和浏览器稳定性,我唯一需要继续使用的就是返回URL

FlexBuilder在默认项目中似乎有自己的浏览器历史记录


此外,Flex 3 Cookbook还提供了使用mx.managers.HistoryManager创建自定义历史管理的方法。我计划有一天尝试一下,以消除我们对dojo.back的依赖,但还没有时间

这看起来有点迂回,但我目前正在使用dojo框架来实现这一点。当我的UI主要是JS/HTML时,有一个dojo.back非常有用。现在我已经使用flex来获得更多的功能、流畅的动画和浏览器稳定性,我唯一需要继续使用的就是返回URL

FlexBuilder在默认项目中似乎有自己的浏览器历史记录


此外,Flex 3 Cookbook还提供了使用mx.managers.HistoryManager创建自定义历史管理的方法。我计划有一天尝试一下,以消除我们对dojo.back的依赖,但还没有时间

已被广泛使用和测试。考虑到您提前计划在Flash中处理深度链接,这几乎是微不足道的。它提供了一个JS和AS库,它们一起工作,使整个过程非常简单。您可能想看看RSH for AJAX之类的东西。

已经得到了广泛的使用和测试。考虑到您提前计划在Flash中处理深度链接,这几乎是微不足道的。它提供了一个JS和AS库,它们一起工作,使整个过程非常简单。您可能想看看RSH for AJAX之类的东西。

我推出了自己的解决方案,非常简单,如下所示:

(function() {
  var oldHash, newHash;

  function checkHash() {
    // Grab the hash
    newHash = document.location.hash;

    // Check to see if it changed
    if (oldHash != newHash) {

      // Trigger a custom event if it changed,
      // passing the old and new values as
      // metadata on the event.
      $(document).trigger('hash.changed', {
        old: oldHash,
        new: newHash
      });

      // Update the oldHash for the next check
      oldHash = newHash;
    }
  }

  // Poll the hash every 10 milliseconds.
  // You might need to alter this time based
  // on performance
  window.setInterval(checkHash, 10);

})(jQuery);

然后,您只需要为“hash.changed”事件设置事件处理程序,以便根据新值做出相应的响应。这种方法适用于非常简单的情况。

我推出了自己的解决方案,非常简单,如下所示:

(function() {
  var oldHash, newHash;

  function checkHash() {
    // Grab the hash
    newHash = document.location.hash;

    // Check to see if it changed
    if (oldHash != newHash) {

      // Trigger a custom event if it changed,
      // passing the old and new values as
      // metadata on the event.
      $(document).trigger('hash.changed', {
        old: oldHash,
        new: newHash
      });

      // Update the oldHash for the next check
      oldHash = newHash;
    }
  }

  // Poll the hash every 10 milliseconds.
  // You might need to alter this time based
  // on performance
  window.setInterval(checkHash, 10);

})(jQuery);

然后,您只需要为“hash.changed”事件设置事件处理程序,以便根据新值做出相应的响应。这种方法适用于非常简单的情况。

很有趣。你能在某处发布一个演示吗?很有趣。你能在某处发布演示吗?