如何使用angularjs在关闭窗口时触发函数

当用户关闭应用程序时,我需要执行一个函数,但是需要考虑以下几点:

  • 我需要执行一个功能service,然后…
  • …超出范围的基于纯JavaScript的函数在这里不太有用
  • 当我使用路由时,作用域onLocationChangeSuccess绑定也无济于事

因此此解决方案将无法正常工作:https :

//stackoverflow.com/a/18355715/773595

因为这会在每次位置更改时触发,但是我只需要在关闭选项卡/窗口时触发一次。

回答:

您可以在控制器/指令中注册onbeforeunload,然后就可以访问作用域。如果需要服务,我会将其注册到angular.run生命周期中。

angular.module('app', [])

.controller('exitController', function($scope, $window) {

$scope.onExit = function() {

return ('bye bye');

};

$window.onbeforeunload = $scope.onExit;

});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>

<div ng-app="app" ng-controller="exitController">

<a href="http://www.disney.com">Leave page</a>

</div>

以上是 如何使用angularjs在关闭窗口时触发函数 的全部内容, 来源链接: utcz.com/qa/407922.html

回到顶部