簡體   English   中英

如何防止用戶在頁面上后退/前進?

[英]How to prevent a user from going back/forward when they are on a page?

我有一個在不同系統(例如電話系統)框架內運行的腳本。每次用戶單擊shift鍵並用鼠標滾動時,頁面都會返回,這會導致電話系統出現問題。

我需要完全阻止用戶向前或向后導航,因為此頁面將由電話系統控制,並且只要電話系統處於打開狀態就應該處於打開狀態。

要停止導航,我已經這樣做了

<script type="text/javascript">
 function stop()
 {
     return false;
 }

 document.onmousewheel = stop;
 window.onbeforeunload = stop;

</script>

但這會顯示一條消息“您確定要離開此頁面嗎?” 用戶必須單擊“離開此頁面”或“停留在此頁面”才能繼續。

但是,如果用戶單擊“離開此頁面”,我仍然會遇到原始問題。

有什么辦法可以完全阻止用戶返回? 這是我想到的但無法應用的任何潛在解決方案

  1. 使代碼代表用戶單擊“停留在此頁面上”。 如果可以隨時單擊“停留在此頁面上”
  2. 禁用“離開此頁面”按鈕。 因此,該用戶將沒有其他按鈕可以單擊,而是“停留在此頁面上”。

假設您已加載jQuery。 我無法在您的情況下對此進行測試,所以請告訴我這是否適合您。

$('html').keypress(function(event) {
    // 16 is shift's key code
    if (event.which === 16) {
        event.preventDefault();
    }
});

這將阻止Shift鍵在瀏覽器中執行其默認行為。

暫無
暫無

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

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