2010-08-05 13 views
32

सिस्टम का समय आगे बढ़ाने यहाँ एक अजीब एक है:जावास्क्रिप्ट चेतावनी() द्वारा 12ms

मैं एक दूरस्थ सर्वर के साथ एक जावास्क्रिप्ट टाइमर सिंक्रनाइज़ करने पर काम कर रहा था और मेरे टाइमर (Date() वस्तु के आधार पर) देखा प्राप्त कर रहा था करने के लिए 12ms के बारे में रिश्तेदार प्रत्येक पृष्ठ पर मेरा रिमोट सर्वर रीफ्रेश करें। मैंने इसे जावास्क्रिप्ट alert() फ़ंक्शन पर संकुचित कर दिया।

मैंने निम्नलिखित परीक्षण और 2 सिंक्रनाइज़ घड़ियों के साथ सत्यापित किया है कि मेरा सिस्टम समय प्रत्येक 83-84 पेज रीफ्रेश 1 सेकंड आगे बढ़ेगा। क्या किसी ने इसे पहले देखा है?

<html> 
<head> 
</head> 
<body> 
<script type="text/javascript"> 
    alert('hello'); 
</script> 
</body> 
</html> 

मैं XP SP3 पर IE7 का उपयोग कर रहा हूं। कृपया मुझे बताओ मैं पागल नहीं जा रहा हूँ!


संपादित करें:

मैं वास्तव में जावास्क्रिप्ट टाइमर की सटीकता के बारे में चिंतित नहीं हूँ। असली मुद्दा यह है कि जावास्क्रिप्ट alert() फ़ंक्शन कॉल मेरे वास्तविक सिस्टम समय को 12ms तक आगे बढ़ा रहा है।

+1

इस एक आभासी मशीन पर होना होता है:

यह है कि का एक बहुत बताते हैं? –

+0

क्या आप जानते हैं कि सर्वर से डेटा भेजने और प्राप्त करने में देरी हो रही है? – alopix

+0

@alopix उनके उदाहरण में कोई भेजना और प्राप्त नहीं है, यह सच है तो यह एक बहुत ही दिलचस्प बग है। – robertc

उत्तर

2

खैर,

सबसे अधिक संभावना है तुम पागल हो, जब से तुम जावास्क्रिप्ट टाइमर पर भरोसा कर रहे हैं सटीक होना करने के लिए। http://ejohn.org/blog/accuracy-of-javascript-time/

+12

लेकिन ओपी का दावा है कि उसका * सिस्टम समय * बदल जाता है। यह कुछ और है, है ना? –

+2

जो मैं बात कर रहा हूं वह मेरे जावास्क्रिप्ट टाइमर में देरी नहीं है - मेरा वास्तविक सिस्टम समय चेतावनी() फ़ंक्शन के निष्पादन द्वारा संशोधित किया जा रहा है। मैंने इस पृष्ठ को दो बार ताज़ा कर दिया है और अब जब मैं अपनी सिस्टम घड़ी खींचता हूं तो यह मेरी घड़ी से 5 सेकंड आगे है कि मैंने बस अपने सिस्टम के साथ सिंक्रनाइज़ किया था। – Derek

+2

@ डेरेक: मुझे हमेशा पता था कि जावास्क्रिप्ट ** बुरा ** है;) (* अधिक उपयोगी टिप्पणी प्रदान करने के लिए खेद है *)। –

संबंधित मुद्दे