2017-12-11 16 views
0

子ウィンドウを閉じると親ウィンドウ内のメソッドをトリガする必要があります。私は開発のための角度を使用していると私は本当に角度の方法をしたいと思います。

ウィンドウ1つのコントローラ:

var abc = $window.open(url); 
$scope.$watch('abc.closed', function() { 
    // Do something when abc.close is true 
}; 

これは動作しますが、プロセスの遅れがあります。子ウィンドウが閉じると、リスナーは20-40秒後のように遅くにトリガーされます。 あなたはこの問題について何と思いますか、そしてこの仕事をする最も良い方法は何ですか?

私は人々がsetIntervalを使用して.closedを監視している他の投稿を見てきましたが、これはハッキングの方法です。

答えて

0

あなたは、私は運を持つ前にこれを試してみましたが、ウィンドウ

app.controller('yourCtrl', ['$window', function ($window) { 
    $window.onbeforeunload = function (evt) { 
    //Your Service/Logic 
    } 
]); 
+0

のイベントをonbeforeunload使用してこれを達成することができます。私はこれについてもう少し研究をしました。問題は$ window.openで別のドメインを開くことでした。 CSRF違反であるため、ウィンドウオブジェクトを設定することはできません。 –