我有一个要求,关闭子窗口应该在父窗口中触发一个方法。我正在使用角度进行开发,我真的很喜欢用棱角分明的方式。
Window 1控制器:
var abc = $window.open(url);
$scope.$watch('abc.closed', function() {
// Do something when abc.close is true
};
这样可行,但过程有延迟。当子窗口关闭时,监听器被触发的时间相当晚,就像20-40秒之后。 你认为这个问题是什么,以及这项工作的最佳方法是什么?
我见过其他帖子,人们正在使用setInterval并观察.closed,但这将是一种黑客行为方式。
答案 0 :(得分:0)
您可以通过使用窗口的onbeforeunload事件来实现此目的
app.controller('yourCtrl', ['$window', function ($window) {
$window.onbeforeunload = function (evt) {
//Your Service/Logic
}
]);