Javascript 关闭选项卡/浏览器时触发Angularjs事件
我想在Angularjs控制器中启动JS代码 我有这个:Javascript 关闭选项卡/浏览器时触发Angularjs事件,javascript,angularjs,angularjs-scope,dom-events,angular-ui,Javascript,Angularjs,Angularjs Scope,Dom Events,Angular Ui,我想在Angularjs控制器中启动JS代码 我有这个: $scope.$on('$destroy', function () { alert('page1'); }); 当我离开使用该控制器的页面时,它工作正常,但当我关闭选项卡/浏览器时,它不工作 当tab/browser关闭时,是否需要使用其他代码来触发JS代码?来自angular docs: $destroy() 从中删除当前作用域(及其所有子项) 父范围。删除意味着对$digest()的调用不会
$scope.$on('$destroy', function () {
alert('page1');
});
当我离开使用该控制器的页面时,它工作正常,但当我关闭选项卡/浏览器时,它不工作
当tab/browser关闭时,是否需要使用其他代码来触发JS代码?来自angular docs:
$destroy()强>
从中删除当前作用域(及其所有子项)
父范围。删除意味着对$digest()的调用不会
传播到当前作用域及其子级的时间更长。删除也
表示当前作用域有资格进行垃圾收集
$destroy()通常由指令使用,例如ngRepeat for
管理循环的展开
在销毁作用域之前,会在上广播$destroy事件
这个范围。应用程序代码可以注册$destroy事件处理程序
这将使它有机会进行任何必要的清理
注意,在AngularJS中,还有一个$destroy jQuery事件
可用于在从中删除元素之前清理DOM绑定
大教堂
这只是处理作用域本身被破坏的情况,但在关闭选项卡/浏览器时似乎不会发生这种情况
您必须使用onLoad和onbeforeunload事件的低级方法来处理这种情况,下面是另一篇您可能会发现有用的文章: