如何在AngularJS中禁用浏览器后退按钮?

时间:2016-10-19 09:44:32

标签: javascript jquery angularjs

enter image description here

enter image description here

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

示例我的来源

页面来源:

echo "<h1>Success</h1>";

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

4 个答案:

答案 0 :(得分:4)

如果您想要以角度方式禁用浏览器后退按钮,请尝试以下代码。这可能有所帮助。

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

答案 1 :(得分:0)

在Angular.js中这不是一件非常简单的事情,但你可以使用JavaScript函数 - window.onhashchange来禁用后退按钮。

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

答案 2 :(得分:0)

使用javascript事件

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

refer

答案 3 :(得分:0)

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

严格来说,它不可能&#34;如果使用标准,但有解决方法。

window.history对象包含一个小API

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

对历史记录中的导航使用情况以及有关该主题的若干帖子进行了各种检查,但没有任何内容可以帮助您了解用户何时离开您的网页并超出您的可访问历史记录。

就此而言,检查事件

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

如果您想抓住您网站上的用户,希望有一些非常好的目的:

  • 通过window.history.pushState在第一个主页上创建主页的重复条目,并立即生成window.history.forward()---(这在SPA上运行得特别好,不可观察)
  • 每次用户导航到您的主页/ lowest_level_parent_state时重申该程序......

Et瞧... 在我的情况下,如果按住退格键,我甚至无法逃离我们的页面......

另一个方便的选择是在可行的情况下将页面置于全屏模式:)

干杯,J