簡體   English   中英

如何檢查window.history.back在javascript中有價值

[英]how to check window.history.back has value in javascript

我正在創建一個帶有后退按鈕的頁面。 如果為第一個后退按鈕啟動的頁面應該隱藏。 如果用戶瀏覽頁面后退按鈕,應顯示。

我用了代碼

(window.history.length > 1)?$("#back").show():$("#back").hide();

但是我的問題是, window.history.length一直在增加。

但是我的要求是,當沒有頁面可返回時,返回按鈕應該再次隱藏。 如何實現?

你有更多的問題。 如果用戶來自Google,該怎么辦? 已經有窗口歷史了。 如果用戶訪問了您的網站,然后訪問了google,然后又回來了怎么辦?

如果只是@Marc B所描述的導航系統,那很容易,您就知道用戶來自何處以及如何返回(不要直接使用歷史記錄)。 但是,如果這是一個后退按鈕,那么無論用戶單擊哪個鏈接進入您的網站,它都會變得更加復雜。 由於隱私限制,如果您使用捕獲window.unload事件,則無法訪問用戶的實際URL歷史記錄(僅長度),也無法訪問他們導航至的任何URL。 因此,您的選擇余地有限。

一種選擇是將每次頁面加載時的窗口位置記錄到您保存在本地存儲或cookie中的數組中。 然后,您應該使用此數組來管理歷史記錄狀態,而不要依賴window.history。 當用戶單擊您的后退按鈕時,您只需彈出他們訪問的站點上的最后一個URL並在其中導航。 請記住,第一頁加載會將一個項目放入歷史記錄數組,因此,根據檢查要顯示還是隱藏歷史記錄按鈕的位置,將歷史記錄數組的長度與0或1進行比較。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM