Προς το περιεχόμενο

Javascript : Δεν εκτελείται ο κώδικας όταν πατάμε το close στον Browser!


kostas0928

Προτεινόμενες αναρτήσεις

Δημοσ.

Για δείτε λίγο αυτο : Link

 

Οταν γίνεται κλίκ στο 'Χ' όση ώρα το κρατάμε πατημένο ο κώδικας Javascript δεν εκτελείται!

Εχει κανείς ιδέα

1) Γιατί συμβαίνει αυτό ?

2) Πως διορθώνεται ? (αν διορθώνεται)

Δημοσ.

Έτσι όπως είναι γραμμένος ο κώδικας δεν μετράει σωστά, ανεξάρτητα του bug που περιγράφεται, Κανένας δεν μπορεί να σου εγγυηθεί ότι η StartTimer() θα εκτελείται πάντα κάθε 1000 milliseconds και όχι π.χ 1050 milliseconds.

 

Μπορείς όμως να το παρακάμψεις και να γράψεις κάπως αλλιώς την StartTimer(). Σε κάθε της εκτέλεση να παίρνει την τρέχουσα ώρα και να υπολογίζει πόση διαφορά έχει από την (μελλοντική) ώρα που θέλεις να λήξει ο timer.

Δημοσ.

Γιατί το βαφτίζετε bug; Εγώ για feature το κόβω το να κάνει SuspendThread τη μηχανή της JS ο φυλλομετρητής. Για να μπουν στο κόπο να γράψουν αυτή τη γραμμή κώδικα, κάποιο λόγο έχουν, δεν είναι bug.

 

_tasos αυτό που λες είναι σωστό, αλλά και πάλι από τη timer κρέμεσαι για να εκτελεστεί το custom function που περιγράφεις.

Δημοσ.

Οκ, ας μην το πούμε bug. Μπορεί να είναι κ feature. :D

 

Εξαρτάσαι από την timer, εννοείται αυτό, αλλά έτσι όπως το περιγράφω δεν έχεις φόβο να μετρήσεις λάθος το χρόνο γιατί πάντα ακούς το ρολόι του συστήματος. Δεν χρειάζεται δηλαδή να εκτελεστεί και 3600 φορές για να τερματίσει. Θα εκτελείται για 1 ώρα κ μετά θα τερματίσει, ανεξάρτητα από το πλήθος των εκτελέσεων της StartTimer().

 

 

Δημοσ.

Ναι, σωστά το είπες και υποθέτω για το 99% των εφαρμογών που χρησιμοποιείς τη settimeout και σε νοιάζει το "Χ" αποτελεί λύση. :)

Δημοσ.

Δεν είναι δικός μου ο κώδικας ούτε τον είχα κοιτάξει απλα το είδα και μου έκανε εντύπωση πως σταματάει η εκτέλεση του με το close.

Πάντως μια και το ανέφερες ο σωστός τρόπος φαντάζομαι οτι είναι οπως το περιγράφεις. Να υπολογίζεις την ώρα που τελειώνει το countdown (ώρα server) και βάση αυτής της ώρας να συγχρονίζεις κάθε 'x' δευτερόλεπτα.

Στα Browser games ,που έχουν πολλούς timers, αλήθεια τι κάνουν ?

 

PCharon και εγώ περισσότερο σαν feature το βλέπω ;)

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...