2016-06-01 5 views
0

Ich habe diese Funktion geschrieben, die automatisch alle 15 Sekunden jeweils aufruft.So rufen Sie eine Javascript-Funktion alle 15 Sekunden, nur für 5 Minuten und wie Sie überprüfen, Seite für einige Zeit im Leerlauf ist

setInterval(
    function() { 
    check_alive_status(); 
    }, 
    15000 // every 15 seconds 
); 

Jetzt ist meine Forderung ist, muss ich nur für den ersten 5 Minuten diese Funktion starten, und anschliessend es nicht aufgerufen werden soll. Wie kann ich es erreichen? Irgendwo dort?

Ich muss überprüfen, ob irgendwelche Hintergrundprozesse wie ein Ajax-Aufruf oder ein Datei-Upload in dieser Webseite auch passiert. Wenn nichts läuft und die Seite inaktiv ist, muss ich den Benutzer nach 15 Minuten abmelden. Wie überprüft man das auch? Danke!

+0

Sie brauchen keine Funktion im Inneren. 'setInterval (check_alive_status, ...)' ist ausreichend. –

Antwort

7
// do something every 15 sec 

var myVar = setInterval(function(){ 
// do stuff here 
}, 15000); 

// cancel after 5 min 

setTimeout(myStopFunction, 5 * 60 * 1000) 

// clears the interval 

function myStopFunction() { 
    clearInterval(myVar); 
} 
+0

+2 dafür! Danke! – vikram

+0

Ich habe meine Frage aktualisiert, können Sie mir bitte dabei helfen? – vikram

+0

Die Art, wie ich normalerweise so etwas mache, ist das Verwenden von Sitzungen, das Abmelden des Benutzers nach dem Ende der Sitzung, und wenn er eine Anfrage stellt, wirft er ihn raus, oder Sie können alle paar Minuten oder Sekunden (nicht empfohlen) eine Umfrageanfrage stellen Überprüfen Sie, ob der Benutzer angemeldet ist – WalksAway