में चलते समय जावास्क्रिप्ट प्रदर्शन ऐसा लगता है कि क्रोम और फ़ायरफ़ॉक्स * के कुछ हालिया संस्करण में कोई बदलाव आया है, और अब जावास्क्रिप्ट निष्पादन अलग-अलग प्रतीत होता है जब टैब चालू हो रहा है, वर्तमान में केंद्रित नहीं है एक।एक फ़ोकस किए गए टैब
जब मैं अपना जावास्क्रिप्ट यूनिट परीक्षण चलाता हूं, तो उन्हें सामान्य रूप से पूरा करने में लगभग 20 सेकंड लगते हैं लेकिन अब, जब टैब फ़ोकस किया जाता है, तो यह 2000 सेकंड के ऊपर ले जाता है। हालांकि अजीब बात यह है कि प्रत्येक व्यक्तिगत परीक्षण के लिए रन टाइम प्रभावित नहीं होते हैं (अधिकांश अभी भी < 10ms हैं)। मैं जिस परीक्षण धावक का उपयोग कर रहा हूं, वह प्रत्येक परीक्षण को चलाने के बीच setTimeout(0)
जोड़ता है ताकि ब्राउज़र निष्पादित करते समय लॉक न हो, और ऐसा लगता है कि संभावित अपराधी लगता है।
क्या जावास्क्रिप्ट इंजन को यह बताने का कोई तरीका है कि उस टैब को "वंचित" न करें? मुझे अपने आप को देखने के बिना पृष्ठभूमि में अपने परीक्षण चलाने में सक्षम होना अच्छा लगता है ...
* क्षमा करें, मुझे वास्तव में पुराने संस्करणों को स्थापित करने का प्रयास करने के लिए पर्याप्त परवाह नहीं है जब यह शुरू हो रहा है। कम से कम, यह फ़ायरफ़ॉक्स 5.0 और क्रोम 12.
और: लागू करने के लिए एक 0 एमएस एक आधुनिक ब्राउज़र में समय-समाप्त आप उपयोग कर सकते हैं 'window.postMessage()' https: //developer.mozilla। org/en/डोम/खिड़की।setTimeout – James
@ जेम्स - आपने अपनी टिप्पणी पोस्ट की है जैसा कि मैंने उस पृष्ठ द्वारा संदर्भित आलेख के साथ अपना उत्तर अपडेट किया है :) –
ग्रेट दिमाग एक जैसे सोचते हैं ... और एक ही नाम है! :) – James