繁体   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