2009-08-06 51 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()" %> 
相關問題