有没有办法将处理程序绑定到浏览器历史记录返回按钮?

时间:2011-03-03 04:43:37

标签: javascript jquery browser browser-history

例如,用户从example.com/home.html转到页面example.com/checkout.html。我想知道是否有办法将历史记录分配回example.com/new_offers.html

因此,点击浏览器后退按钮时,用户不会转到home.html,而是会重定向到new_offers.html

我知道这可能听起来很尴尬,但这只是一个例子,我需要的东西有点不同。此外,我需要仅使用JavaScript(没有服务器端)。

UPD:我发现要问是否可以将处理程序绑定到浏览器后退按钮(如jQuery)更清楚:

$(browser.backButton).click(function(e){ ... })

3 个答案:

答案 0 :(得分:1)

您可以转到 new_offers ,检查变量{{1},而不是从主页页面转到结帐页面}。如果checked_out为false,则将用户重定向到结帐,并传递所有表单信息。如果checked_out为真,则显示 new_offers 页面。 结帐页面将checked_out设置为true。

通过这种方式,如果用户点击结帐页面,用户实际上会转到 new_offers 页面。

我不太喜欢这种设计,因为这意味着用户必须快速点击两次才能访问以前的网站,但它确实能满足您的目标。

换句话说,您当前的设计是这样做的:

主页 - >结帐

相反,这样做:

主页 - > new_offers - (重定向) - >结帐

这样new_offers会立即重定向到结帐,除非它看到用户已经签出。

答案 1 :(得分:1)

由于您已将问题修改为jQuery,因此您可以使用此jQuery插件来解决此问题:

http://tkyk.github.com/jquery-history-plugin/

答案 2 :(得分:0)