簡體   English   中英

如何禁用AngularJS中的瀏覽器后退按鈕?

[英]How to disable browser back button in AngularJS?

在此處輸入圖片說明

在此處輸入圖片說明

我想禁用瀏覽器后退按鈕和刷新按鈕。 在角度

我的例子

頁面來源:

"use strict";

.controller("wizardSecondController", function($scope, $state, $stateParams, wizardManager) {

$scope.$on("$viewContentLoaded", function(event, data) {
});

我想防止瀏覽器返回並刷新。 請回答 。

如果您想禁用瀏覽器的后退按鈕,請嘗試以下代碼。 這可能會有所幫助。

$scope.$on('$locationChangeStart', function(event, next, current){
    event.preventDefault();            
});

這不是在Angular.js一個非常簡單的事情,但你可以使用JavaScript函數- window.onhashchange以禁用后退按鈕。

看一下此鏈接 ,您可能會得到更好的主意。

使用JavaScript事件

window.onbeforeunload = function(e) {
      var dialogText = 'Dialog text here';
      e.returnValue = dialogText;
      return dialogText;
    };

參考

我將為您提供有關禁用后退按鈕的建議:

嚴格來說,如果使用標准,這是“不可能的”,但是有解決方法。

有一個window.history對象,其中包含一個小的API

但是,它不允許您在用戶瀏覽您的網站之前仔細檢查狀態/頁面。 顯然是出於安全原因,並非偶然或未實施。

有很多檢查歷史回溯的用法,以及有關該主題的幾篇文章,但是對於何時用戶離開頁面並超出可訪問的歷史記錄,這些方法都無濟於事。

對此,檢查事件

  • onhashchange
  • onpopstate(請注意,即使在IE11中IE的實現也是半熟的->在我的案例中,它不響應鼠標交互,僅響應js歷史記錄。*()

如果您想在網站上吸引用戶是出於某些令人難以置信的良好目的:

  • 通過window.history.pushState在第一個命中的首頁上創建您的主頁的重復條目,並立即通過window.history.forward()---(這在SPA上效果特別好且不引人注意)
  • 每次用戶導航到您的主頁/ lowest_level_parent_state時,請重復該過程。

等等...就我而言,如果我按下退格鍵,我什至無法逃脫頁面...

另一個方便的選擇是,如果可行的話,將頁面置於全屏模式:)

干杯,J

暫無
暫無

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

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