Angular $ locationChangeStart阻止重载&离开页面

时间:2017-03-05 10:39:53

标签: javascript angularjs

您好了很多关于阻止关机和离开页面的帖子,我尝试在我的SPA应用程序上实现此解决方案(角度1.6)但它确实无法运行

$scope.$on('$locationChangeStart', function (event, next, current) {
            if (true) {
                var answer = confirm("Test");
                if (!answer) {
                    event.preventDefault();
                }
            }    
        });

这部分代码在我进入我的页面时执行,而不是在我尝试外出时执行。此外,我尝试注入$ window并添加两个事件,但没有工作

$window.onunload = function(event){
            var answer = confirm("onunload");
            if (!answer) {
                event.preventDefault();
            }
        }


        $window.onbeforeunload = function (event) {
            var answer = confirm("onbeforeunload");
            if (!answer) {
                event.preventDefault();
            }
        }

1 个答案:

答案 0 :(得分:0)

app.run(function($window){
    var window = angular.element($window);
    windowElement.on('onbeforeunload', function(event){
        event.preventDefault()
    }) 
})

了解onbeforeunload

的更多信息