2009-08-06 54 views
1

嘿,我打电话给history.back()上的一个“后退”按钮在滑轨应用程序中的点击。但没有任何反应。浏览器中有历史记录 - 按下浏览器的后退按钮会将我带回正确的页面。Javascript history.back()不能在rails应用程序中工作

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

任何想法如何调试?

我在FF和Safari中试过这个。

谢谢!

--Additional信息:

好,我打得四处一些和这个作品:

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

原来,代码为:

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

有什么区别? (请注意,这用于之前的工作,有些事情已经改变,这使得后者链接不工作)

回答

10

你试过添加返回false?所以:

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

是的加入'返回false'修复它!谢谢。那么这是推荐的方法吗? – Hisham

+1

我总是尽量避免“返回”按钮,因为它们本质上是不可预知的,但是如果您的问题更具体地关于返回false,那么当您想要运行javascipt然后不执行实际操作时应始终使用它(在此情况下“点击”),因为你的代码是“回去一页,然后去currentpage.html#”这是你的问题 –

8

如果使用link_to_function它会自动添加到return false末。

<%= link_to_function "Go back", "history.back()" %> 
相关问题