2012-10-10 158 views
-1

我想要將鏈接放入到最後一頁的按鈕中。但是,在我的網頁中,人們轉到當前頁面和最後一頁之間的其他網站是很常見的。那麼,有沒有辦法像在我選擇的三個頁面之間找到​​第一個發現歷史的東西:a.php,b.php,c.php?到特定頁面的歷史記錄

+1

「我想提出一個鏈接一個按鈕,進入到最後一頁」 - 瀏覽器內建了一個後退按鈕努力複製它的意志,在最好的,不是做什麼的人。期望至少有一些時間,並不是一個好主意。 – Quentin

+0

我不明白什麼是錯的。爲什麼我有一個負面的觀點?如果我知道這個問題,我會解決它! – Nrc

回答

1

不,我很確定你不能那樣做。任何讓您訪問瀏覽器歷史記錄的東西在我看來都是安全風險。

無論如何,如果你想要一個鏈接到他們在你的網站上訪問的最後一頁,那麼我建議你在某個地方跟蹤它。例如,在每次加載頁面時,都可以將頁面存儲在會話變量中。這個值可以在他們點擊「最後一頁」鏈接時被查詢。

儘管您有超時問題,但仍有一個會話變量。如果你需要更長期的東西,你可以考慮使用cookie,但要注意有新的法律強制你通知任何用戶你正在使用cookies來存儲這樣的信息。

或者,如果用戶是註冊用戶(並且有登錄名),那麼您可以將最後一頁存儲在數據庫中。

當然,在頁面加載時這樣做意味着您必須實際跟蹤最後兩頁(因爲您也將跟蹤當前頁面)。

同樣,另一種選擇是,你可以通過最後一個頁面的URL的每個頁面周圍的URL參數 - 就像常見的「RETURNURL」,一些網站重定向到登錄頁面

0

否 - 所有現代瀏覽器使用時,禁止任何類似的內容(相同起源政策)

您可以做的是建立一個數據庫並記錄每個用戶看到的網站的最近頁面(由IP地址決定)。然後,查看最後一次看到的頁面是一件簡單的事情。

0

可以在Internet Explorer中傳遞字符串(URL)到history.go()

在這裏看到的文檔:http://msdn.microsoft.com/en-us/library/ms536443%28v=vs.85%29.aspx

msdn

現在,如果你需要一個跨瀏覽器的替代,也許history.js可以幫助你。


(更多黑客攻擊的)另一個解決方案是不允許在你的頁面的鏈接,被保存在會話歷史記錄。只有a,bc。所以當用戶點擊「返回」時,它只能導航到這3頁。

你會怎麼做?
一種方法是使用replace方法;

用提供的URL替換當前文檔。 [...] 使用replace()後,當前頁面將不會保存在會話 的歷史記錄中,這意味着用戶將無法使用Back按鈕導航到 。

文檔:https://developer.mozilla.org/en-US/docs/DOM/window.location#replace

相關問題