kostas0928 Δημοσ. 5 Ιανουαρίου 2011 Δημοσ. 5 Ιανουαρίου 2011 Για δείτε λίγο αυτο : Link Οταν γίνεται κλίκ στο 'Χ' όση ώρα το κρατάμε πατημένο ο κώδικας Javascript δεν εκτελείται! Εχει κανείς ιδέα 1) Γιατί συμβαίνει αυτό ? 2) Πως διορθώνεται ? (αν διορθώνεται)
Moderators GeorgeMan Δημοσ. 5 Ιανουαρίου 2011 Moderators Δημοσ. 5 Ιανουαρίου 2011 Mε chrome μια χαρα συνεχιζει να εκτελειται...
PCharon Δημοσ. 5 Ιανουαρίου 2011 Δημοσ. 5 Ιανουαρίου 2011 Είναι θέμα φυλλομετρητή και δε μπορείς να επέμβεις.
_tasos Δημοσ. 5 Ιανουαρίου 2011 Δημοσ. 5 Ιανουαρίου 2011 Έτσι όπως είναι γραμμένος ο κώδικας δεν μετράει σωστά, ανεξάρτητα του bug που περιγράφεται, Κανένας δεν μπορεί να σου εγγυηθεί ότι η StartTimer() θα εκτελείται πάντα κάθε 1000 milliseconds και όχι π.χ 1050 milliseconds. Μπορείς όμως να το παρακάμψεις και να γράψεις κάπως αλλιώς την StartTimer(). Σε κάθε της εκτέλεση να παίρνει την τρέχουσα ώρα και να υπολογίζει πόση διαφορά έχει από την (μελλοντική) ώρα που θέλεις να λήξει ο timer.
PCharon Δημοσ. 5 Ιανουαρίου 2011 Δημοσ. 5 Ιανουαρίου 2011 Γιατί το βαφτίζετε bug; Εγώ για feature το κόβω το να κάνει SuspendThread τη μηχανή της JS ο φυλλομετρητής. Για να μπουν στο κόπο να γράψουν αυτή τη γραμμή κώδικα, κάποιο λόγο έχουν, δεν είναι bug. _tasos αυτό που λες είναι σωστό, αλλά και πάλι από τη timer κρέμεσαι για να εκτελεστεί το custom function που περιγράφεις.
_tasos Δημοσ. 5 Ιανουαρίου 2011 Δημοσ. 5 Ιανουαρίου 2011 Οκ, ας μην το πούμε bug. Μπορεί να είναι κ feature. Εξαρτάσαι από την timer, εννοείται αυτό, αλλά έτσι όπως το περιγράφω δεν έχεις φόβο να μετρήσεις λάθος το χρόνο γιατί πάντα ακούς το ρολόι του συστήματος. Δεν χρειάζεται δηλαδή να εκτελεστεί και 3600 φορές για να τερματίσει. Θα εκτελείται για 1 ώρα κ μετά θα τερματίσει, ανεξάρτητα από το πλήθος των εκτελέσεων της StartTimer().
PCharon Δημοσ. 5 Ιανουαρίου 2011 Δημοσ. 5 Ιανουαρίου 2011 Ναι, σωστά το είπες και υποθέτω για το 99% των εφαρμογών που χρησιμοποιείς τη settimeout και σε νοιάζει το "Χ" αποτελεί λύση.
kostas0928 Δημοσ. 6 Ιανουαρίου 2011 Μέλος Δημοσ. 6 Ιανουαρίου 2011 Δεν είναι δικός μου ο κώδικας ούτε τον είχα κοιτάξει απλα το είδα και μου έκανε εντύπωση πως σταματάει η εκτέλεση του με το close. Πάντως μια και το ανέφερες ο σωστός τρόπος φαντάζομαι οτι είναι οπως το περιγράφεις. Να υπολογίζεις την ώρα που τελειώνει το countdown (ώρα server) και βάση αυτής της ώρας να συγχρονίζεις κάθε 'x' δευτερόλεπτα. Στα Browser games ,που έχουν πολλούς timers, αλήθεια τι κάνουν ? PCharon και εγώ περισσότερο σαν feature το βλέπω
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.