如何使用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