【问题标题】:How to disable browser back button in AngularJS?如何在AngularJS中禁用浏览器后退按钮?
【发布时间】:2016-10-19 09:44:32
【问题描述】:

我想禁用浏览器后退按钮和刷新按钮。在角度

示例我的来源

页面来源:

"use strict";

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

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

我想阻止浏览器返回并刷新。 请回答。

【问题讨论】:

  • 复习答案真的很痛苦吗?

标签: javascript jquery angularjs


【解决方案1】:

如果您想在 Angular 中禁用浏览器后退按钮,请尝试以下代码。它可能会有所帮助。

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

【讨论】:

  • 很好,很简单!
  • @sana,它对我有用,没有任何问题。这是非常简单的逻辑。你能再检查一下代码吗?
  • 它对我不起作用,我正在使用 ui-rouer 并将 html5mode 设置为 true。
  • 这只是完全禁用导航,我看不出它是如何解决问题的。
【解决方案2】:

在 Angular.js 中这不是一件很直接的事情,但您可以使用 JavaScript 函数 - window.onhashchange 禁用返回按钮。

看看这个link,你可能会得到更好的想法。

【讨论】:

    【解决方案3】:

    使用javascript事件

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

    refer

    【讨论】:

      【解决方案4】:

      我会给你一些关于禁用后退按钮的建议:

      严格来说,如果使用标准,这不是“可能的”,但有一些变通方法。

      window.history 对象包含一个小的API

      但它不允许您在用户浏览您的网站之前仔细检查状态/页面。显然是出于安全原因,而不是出于意外或缺少实施。

      有各种检查历史记录的使用情况以及有关该主题的几篇帖子,但对于用户离开您的页面并超出您可访问的历史记录的时间点没有任何帮助。

      至于那个,检查事件

      • onhashchange
      • onpopstate(请注意 IE 的实现是半生不熟的,即使在 IE11 中也是如此 --> 在我的情况下,它不响应鼠标交互,仅响应 js 历史记录。*()

      如果您想在您的网站上吸引用户,以实现一些非常好的目的:

      • 通过 window.history.pushState 并立即在 window.history.forward() 的第一个主页点击中创建主页的重复条目 ---(这在 SPA 上特别有效且不明显)
      • 每次用户导航到您的主页/lowest_level_parent_state 时重复该过程...

      瞧... 在我的情况下,如果我按住退格按钮,我什至无法逃脱我们的页面......

      如果可行,另一个方便的选择是将页面置于全屏模式:)

      干杯,J

      【讨论】:

      • 您能用更多代码详细说明您的解决方案吗?它非常模棱两可,我无法理解您的真正意思。
      • 1.) 在您网站的登录页面上,添加一个脚本,使用 window.history.pushState 推送索引页面的副本 2.) 立即调用 window.history.forward 以获得一个历史记录中您自己页面的备用历史记录项 3.) 每次有人点击登录页面时重复该过程(例如通过后退按钮)对不起,我真的不记得也不能再访问代码了,我只能说,这确实有效,虽然它不是角度特定的。现在没有时间想出新代码,请阅读手册:)
      猜你喜欢
      • 2011-08-06
      • 1970-01-01
      • 2010-10-31
      • 2014-04-17
      • 1970-01-01
      • 2016-07-21
      • 2020-08-17
      相关资源
      最近更新 更多