簡體   English   中英

如何檢測javascript點擊了后退按鈕或前進按鈕?

[英]How to detect is that back button OR forward button clicked by javascript?

只是為了確保,我不是在問如何捕捉后退/前進按鈕事件。

window.addEventListener('popstate', function (e) {
                       alert("Yahoooo!!!!"); 
                   });

上面的那個功能被觸發是瀏覽器的后退按鈕還是瀏覽器的前進按鈕,但我無法檢測到哪個被點擊了? 是后退按鈕還是前進按鈕?

是否有針對他們的任何特定事件,我可以檢測到它是“后退”或“前進”按鈕?

編輯:雖然我很欣賞“重復問題”的建議,但在 stackoverflow 上發布類似的問題,但接受的答案來自 2012 年 1 月! 從那時起,很多事情發生了變化。 也許已經有更簡單的方法了!

謝謝

我有同樣的問題,我使用現代 javascript 找到了答案。

代碼可在 GitHub 上找到

您可以使用以下方式檢測在任何依賴 popstate / pushstate 的 js 應用程序中按下的瀏覽器后退和前進按鈕:

// e.detail.direction will be the "backward" or "forward" String according the pressed button 
window.addEventListener('nav::user_asked_history', function(e) {
    console.log('nav::direction=', e.detail.direction); 
})

您可以使用以下方式顯示/隱藏您自己的應用內后退和前進按鈕:

is_nav_forward_possible()
is_nav_backward_possible()

您還可以使用瀏覽您的應用內用戶歷史記錄

let nav_position;
let nav_history; 

享受現代 JS 的樂趣!

暫無
暫無

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

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