我一直在使用後退按鈕讓用戶導航回到他們來自的頁面,問題是,如果用戶在新標籤頁或直接鏈接中導航,那麼他們還沒有「在任何地方」,然後他們會被重定向回空白頁面。回去或重定向到url
有沒有解決方案呢?如果可能的話,我正在考慮像導航回來,如果沒有,它會帶你到一個特定的網址。
這是我到目前爲止有:
<a href="#" onclick="history.go(-1);return false;">Go back</a>
我一直在使用後退按鈕讓用戶導航回到他們來自的頁面,問題是,如果用戶在新標籤頁或直接鏈接中導航,那麼他們還沒有「在任何地方」,然後他們會被重定向回空白頁面。回去或重定向到url
有沒有解決方案呢?如果可能的話,我正在考慮像導航回來,如果沒有,它會帶你到一個特定的網址。
這是我到目前爲止有:
<a href="#" onclick="history.go(-1);return false;">Go back</a>
有關使用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 - 消息是一個更好的警告。
我在Chrome中打開一個新標籤(中間點擊一個鏈接)並且它保留了引用者的情況下對其進行了測試。我不確定這是多麼標準,但瀏覽器之間可能存在差異。 – Codesleuth 2013-02-12 16:27:23
如果你正在使用PHP,你可以改變鏈接:
echo '<a href="'. $_SERVER['HTTP_REFERER'] . '">Go back</a>';
如果沒有可以做同樣的jQuery和鏈接點擊方法的JavaScript
document.location = document.referrer;
。
[如何檢查用戶是否可以返回瀏覽器歷史記錄或不是](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
就我個人而言,我認爲提供一條消息說你不能回去就足夠了。這只是我的看法。在代碼部分之後,這可能在http://ux.stackexchange.com/上運行良好,並詢問哪些是首選。 – SchautDollar 2013-02-12 16:12:04
關於重複的道歉,已被標記爲刪除 – kallekillen 2013-02-12 16:38:53