2012-09-12 54 views
2

所以,我遇到了一個問題:我有2個(或更多)連續頁面,用戶可以通過點擊。在每個頁面的底部有一個「後退」按鈕(帶有Javascript的history.go(-1);),以便用戶能夠返回到前一個視圖。Javascript連續兩頁

現在我的問題是:當用戶在第3頁上並單擊按鈕時,他會回到第2頁(直到這裏一切正常),但是當他回到第2頁並單擊後退按鈕時頁面,而不是進一步回到頁面1,他被送回(或轉發?)到第3頁。 有沒有解決這個問題的方法,我嘗試了谷歌,但找不到任何東西。

在此先感謝! :)

+0

如果你問這個問題 - 你不明白瀏覽器的歷史行爲和JavaScript功能 - 你應該閱讀它並學習。當你足夠了解時,你會自己找到理查德答案的替代方案。 –

+0

由於javascript:history.go(-1);應該模擬瀏覽器的後退按鈕,然後按兩次後退按鈕,這正是我試圖做的,我認爲還有一種方法可以在JavaScript中完成。 我知道有很多選擇,我只是想避免它們。好吧,好像我必須堅持直接鏈接。 – elveti

+0

如果您按照進度頁面1 - >頁面2 - >頁面3(...)並且使用history.go(-1),則其行爲與瀏覽器的後退按鈕相同。另一方面,如果你在第2頁上做了任何處理(發佈/獲取服務器的請求),它會重寫你的瀏覽器的歷史,這樣你會發現自己在第2頁中發生了** AFTER **第3頁 –

回答

5

你的問題是,Javascript的行爲完全是應該返回瀏覽器到上一頁。你能否更明確地處理頁面之間的導航?用鏈接到實際腳本\頁面替換history.go(-1)?

+0

I希望避免使用直接鏈接,因爲這會造成一些問題。但是,由於似乎沒有一種只通過JavaScript解決問題的方法,我想我必須實施直接鏈接。 感謝您的回答! – elveti

+0

不用擔心隊友,如果從服務器端腳本動態提供頁面,則可以跟蹤用戶在那裏的進度並相應地提供頁面。雖然可能會過度需求你。 – Dutts

2

使用window.location將用戶發送回上一頁而不是history.go(-1)。如果用戶登陸流程的第二頁,則後退按鈕將無用。