タイマーの問題によりスタックしました。Ionic&AngularJS、タイムアウトがキャンセルされていません
簡単に、コードはフォームを送信し、投稿に対する回答はiFrameで開きます。 フォームのEventListenerを使用すると、「送信」を検出してタイマーを適用して、iFrameの読み込みが長すぎるかどうかを検出できます。 しかし、iFrameがロードされていても(=タイマをキャンセルする必要があります)、タイマーの関数が呼び出されます。私は何をしないのですIs there a way to clear all time outs?
:
[...]
var el = document.getElementById("myForm");
if(el){
el.addEventListener("submit", function(event){
$scope.popupOpened=false;
var iframeWindow = window.parent.document.getElementById('myIframe');
var iframeDoc = iframeWindow.contentWindow.document;
//7 seconds before the popup is shown up
$rootScope.myTimer = $timeout(function(){
window.frames[0].stop();
if(!$scope.popupOpened){
errorConnexion2();//popup opening
}
}, 7000);
iframeWindow.onload=function(){
console.log("iframe loaded");
//cancel the timer
$timeout.cancel($rootScope.myTimer);
}
});
}
[...]
私ものsetTimeoutとてclearTimeoutとし、そのようにそれらのすべてをクリアしてみました:?ここ はコードがありますか ありがとうございます!