Backbone.js - 控制器功能中的访问引用者

时间:2011-05-15 15:44:47

标签: backbone.js referrer

我有一个产品列表(索引视图),当用户点击产品时,Lightbox会打开(显示视图)。现在,当用户关闭灯箱时,我想将他重定向回他来自的页面。问题是Lightbox可能是从几个不同的地方打开的。最好用一个例子来证明:

产品“Foo”出现在3个不同的页面上:

/                  (the home page)
/tag/bar           (all products tagged with "bar")
/tag/baz/page-3    (all products tagged with "baz", paginated)

现在我必须决定Lightbox关闭时重定向用户的位置。在这个阶段,没有关于Lightbox打开的页面的信息。

所以我想在打开Lightbox(渲染show view)时保存一个“returnTo”路径。 在控制器函数中,由哈希更改触发并呈现显示视图,但我似乎无法获得任何“引用者”信息。

有没有办法看到哪个页面触发了哈希变化? 或者有更好的方法来解决这个问题吗?

所有建议表示赞赏! :)

编辑:

我通过设置cookie解决了这个问题。 只要访问索引站点(可能是上面提到的三个中的任何一个),就会设置cookie。然后,当Lightbox关闭时,用户被重定向到cookie值,这是最后打开的索引站点。 但是,如果Backbone.js内置了一种方法来“记住”某种方式,那就太棒了。 Julien在其中一条评论中提到可以添加这样的功能。

1 个答案:

答案 0 :(得分:1)

您可以在JS中触发浏览器后退按钮。假设你设置好一切,浏览器应该回到之前设置的哈希值。