2009-08-06 4 views
1

ちょっと、レールアプリで '戻る'ボタンをクリックしてhistory.back()を呼び出しています。しかし、何も起こりません。ブラウザに履歴があります。ブラウザの戻るボタンを押すと正しいページに戻ります。Javascript history.back()がレールアプリで動作していない

ただし、history.go(-2)を使用すると、ページが正常に戻されます。では、どうして私はjavascriptに1ページの代わりに2ページ分戻ってくるように言わなければならないのですか?

これをデバッグする方法はありますか?

私はFFとSafariでこれを試しました。

ありがとうございます!

--Additional情報:

は、[OK]を、私はいくつかのより多くの周りを果たし、この作品:

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

をもともと、コードされました:

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

違いは何ですか? (前に動作していたことに注意してください。後者のリンクが動作しないように変更されました)

答えて

10

戻り値falseを追加しようとしましたか?だから、:

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

はい '返信拒否'を修正しました!どうも。これは推奨されるアプローチですか? – Hisham

+1

私はいつも "戻る"ボタンを避けようとしていますが、実際には予測できません。しかし、あなたの質問がもっと偽を返しているのならば、javasciptを実行して、ケースの「クリック」)、あなたのコードは「あなたの問題だったページを戻ってからcurrentpage.html#に行く」と言っていたからです –

8

あなたがlink_to_functionを使用している場合、それは自動的に最後にreturn falseを追加します。

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