Javascript history.back()无法在rails app中运行

时间:2009-08-06 14:37:55

标签: javascript ruby-on-rails

嘿我在rails应用程序中单击“后退”按钮时调用history.back()。但没有任何反应。浏览器中有历史记录 - 按下浏览器的后退按钮会将我带回正确的页面。

但是,如果我使用history.go(-2),页面会正确返回。那么为什么我要告诉javascript返回两页而不是一页呢?

任何想法如何调试?

我在FF和Safari中试过这个。

谢谢!

- 其他信息:

好的,我玩了一些,这有效:

<a href='javascript:' onclick='history.back();'>

最初,代码是:

<a href='#' onclick='history.back();'>

有什么区别? (注意,之前曾经使用过,有些东西已经改变,这使得后一个链接不起作用)

3 个答案:

答案 0 :(得分:11)

你尝试过添加return false吗?所以:

<a href='#' onclick='history.go(-1);return false;'>

答案 1 :(得分:8)

如果您使用link_to_function,则会自动将return false添加到结尾。

<%= link_to_function "Go back", "history.back()" %>

答案 2 :(得分:2)

我建议使用<%= link_to :back %>。在此处阅读更多内容:http://api.rubyonrails.org/classes/ActionView/Helpers/UrlHelper.html#M002142