2013-02-12 58 views
0

我一直在使用後退按鈕讓用戶導航回到他們來自的頁面,問題是,如果用戶在新標籤頁或直接鏈接中導航,那麼他們還沒有「在任何地方」,然後他們會被重定向回空白頁面。回去或重定向到url

有沒有解決方案呢?如果可能的話,我正在考慮像導航回來,如果沒有,它會帶你到一個特定的網址。

這是我到目前爲止有:

<a href="#" onclick="history.go(-1);return false;">Go back</a> 
+1

[如何檢查用戶是否可以返回瀏覽器歷史記錄或不是](http://stackoverflow.com/questions/3588315/how-to-check-if-the-user-can-go -back-in-browser-history-or-not) – Tchoupi 2013-02-12 16:10:02

+0

就我個人而言,我認爲提供一條消息說你不能回去就足夠了。這只是我的看法。在代碼部分之後,這可能在http://ux.stackexchange.com/上運行良好,並詢問哪些是首選。 – SchautDollar 2013-02-12 16:12:04

+0

關於重複的道歉,已被標記爲刪除 – kallekillen 2013-02-12 16:38:53

回答

2

有關使用document.referrer如何?
這是一個黑客攻擊,我不推薦它,因爲你不會維護髮布數據(如果有的話)。如果你的網頁不需要重新發布任何數據,那麼這應該工作。

<a id="mylink" href="#">Go back</a> 
$('#mylink').click(function() { 
    if (history.length == 0) { 
     document.location = document.referrer; 
    } else { 
     history.go(-1); 
    } 
}); 

我必須說,我同意SchautDollar's comment - 消息是一個更好的警告。

+0

我在Chrome中打開一個新標籤(中間點擊一個鏈接)並且它保留了引用者的情況下對其進行了測試。我不確定這是多麼標準,但瀏覽器之間可能存在差異。 – Codesleuth 2013-02-12 16:27:23

0

如果你正在使用PHP,你可以改變鏈接:

echo '<a href="'. $_SERVER['HTTP_REFERER'] . '">Go back</a>'; 

如果沒有可以做同樣的jQuery和鏈接點擊方法的JavaScript

document.location = document.referrer;