2011-02-25 139 views
6

遇到一些Twitter的玩笑來了它是多麼可怕使用使用'javascript:history.go(-1)'有什麼問題?

javascript:history.go(-1) 
當然

沒有任何提示,爲什麼。

如果太可怕了,爲什麼?有什麼選擇? (除了history.back(),這似乎做同樣的事情)。這是跨瀏覽器兼容性的問題嗎?

例如,我已經看到它在錯誤頁面上使用,讓用戶嘗試使用上述「回去」。

我試過谷歌,但無濟於事,關於爲什麼它會如此可怕的使用。任何指針/解釋將不勝感激。

謝謝。

+0

頁面不會重新加載歷史記錄,我發現在某些頁面 – 2011-10-03 13:35:20

回答

5

他們可能一直在使用僞協議javascript:,這通常意味着這是錨的href屬性,這是醜陋的。這不是一個真正的鏈接,並禁用JavaScript,它看起來像一個功能鏈接,什麼也不做。我認爲這個協議唯一有效的用途是用於bookmarklets。

此外,作爲Russell Dias points out,它確實與後退按鈕相同,所以它有什麼意義?我們是否應該有一個重新加載按鈕,調用window.location.reload()

+0

本質上不必要的冗餘的好點 – andryuha 2011-02-25 04:10:42

+0

有趣。需要的一個示例:產品搜索結果頁面上的用戶使用表單過濾器來更改結果的顯示。這些過濾器更新查詢字符串。用戶點擊產品 - 在該產品頁面上有「返回結果」鏈接。 JS方法會將用戶放回頁面,其結果爲正確的查詢字符串,而硬編碼鏈接則不會。 – 2013-06-24 15:42:10

3

關閉我的頭頂。我相信這個JavaScript模擬瀏覽器後退按鈕。人們永遠無法確定用戶是如何進入某個頁面的,也就是說,他們可能通過外部網站進入頁面。因此,這個實現可以簡單地將它們發回,這可能不是一個理想的結果。

+0

當中有問題,但如果這是預期的行爲,就像在我的錯誤頁面示例中那樣? – andryuha 2011-02-25 03:53:43

+0

+1有效點 – alex 2011-02-25 03:55:46

+0

@andryuha:老實說,如果這是縮進行爲,我看不出有什麼問題。我已經看到一些大的網站使用它,儘管很少。 – 2011-02-25 03:55:59