Ich stecke wegen Timer-Problem fest.Ionic & AngularJS, Timeout nicht abgebrochen
Kurz gesagt, der Code übergibt ein Formular und die Antwort auf den Beitrag wird in einem iFrame geöffnet. Ein EventListener auf dem Formular ermöglicht es mir, das "Senden" zu erkennen und einen Timer anzuwenden, um zu erkennen, ob das Laden des iFrames zu lange dauert. Aber auch wenn der iFrame geladen ist (= Timer sollte abgebrochen werden), wird die Timerfunktion aufgerufen. Hier ist der Code:
[...]
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);
}
});
}
[...]
Ich habe auch versucht mit setTimeout und clear und durch alle von ihnen wie das Clearing: Is there a way to clear all time outs?
Was bin ich? Vielen Dank im Voraus!