我正在用角落中的後退按鈕創建一個頁面。如果爲第一個後退按鈕啓動的頁面應該隱藏。如果用戶瀏覽頁面返回按鈕應顯示。如何檢查window.history.back在javascript中有價值
我使用的代碼
(window.history.length > 1)?$("#back").show():$("#back").hide();
但我的問題是, window.history.length
是不斷增加。
但我的要求是當沒有頁面回去時,然後返回按鈕應該再次隱藏。如何實現這一目標?
我正在用角落中的後退按鈕創建一個頁面。如果爲第一個後退按鈕啓動的頁面應該隱藏。如果用戶瀏覽頁面返回按鈕應顯示。如何檢查window.history.back在javascript中有價值
我使用的代碼
(window.history.length > 1)?$("#back").show():$("#back").hide();
但我的問題是, window.history.length
是不斷增加。
但我的要求是當沒有頁面回去時,然後返回按鈕應該再次隱藏。如何實現這一目標?
你有更多問題。如果用戶來自谷歌會怎麼樣?會有窗口歷史記錄。如果用戶去你的網站,然後去谷歌,然後回來?
如果它只是@Marc B所描述的導航系統,那麼很容易,您知道用戶來自哪裏以及如何返回(不要直接使用歷史記錄)。但是,如果它是一個後退按鈕,無論用戶點擊什麼鏈接到您的網站...它變得更加複雜。由於隱私限制,您無法訪問用戶的實際URL歷史記錄(只是長度),並且如果您使用捕獲window.unload事件,則無法訪問他們正在導航的任何url。所以你只剩下有限的選擇。
一個選擇是將每個頁面加載的窗口位置記錄到您保存在本地存儲或cookie中的數組中。那麼你應該使用這個數組來管理你的歷史狀態,而不是依靠window.history。當用戶點擊您的後退按鈕時,您只需彈出他們訪問過的網站上的最後一個網址,並在那裏瀏覽它們。請記住,首頁加載會將一個項目放入歷史數組中,因此根據您檢查的位置來查看是否應顯示或隱藏曆史記錄按鈕,您將比較歷史數組的長度爲0或1。
這是你自己分頁的東西,例如用<< << 1 2 3 ... n >> >>類型導航系統?大概你會知道你正在打開哪個頁面,當你在頁面1或者頁面n時,只需要隱藏適當的按鈕。 –
歷史API沒有提供找出當前頁面在歷史列表中的位置的方法。 – Barmar