पृष्ठ सक्रिय नहीं होने पर setTimeout("myfunction()",10000);
को गिनने से रोकने का कोई तरीका है। उदाहरण के लिए,केवल तभी सेट करें जब टैब सक्रिय हो
- एक उपयोगकर्ता एक "कुछ पेज" पर आता है और के लिए 2000ms
- उपयोगकर्ता रहता है किसी अन्य टैब पर चला जाता है, छोड़ देता है "कुछ पृष्ठ" खुला।
myfunction()
तब तक आग नहीं लगाता जब तक कि वे 8000ms के लिए वापस नहीं आते।
जब तक कि मुझे कुछ याद नहीं आ रहा है, यह पृष्ठ पर क्लिक जैसे किसी भी उपयोगकर्ता इंटरैक्शन से पहले प्रारंभिक पृष्ठ लोड पर अंतराल कार्यों को नहीं चलाएगा, क्योंकि 'ऑनफोकस' ईवेंट प्रारंभिक पृष्ठ लोड पर आग लगने वाला नहीं है। –
@torazaburo प्रारंभ में, 'window.blurred'' अपरिभाषित 'होगा, जैसा कि यह' झूठा 'जैसा ही है। इसलिए, टाइमर स्वचालित रूप से गिनती शुरू होता है। ध्यान दें कि 'setInterval' तुरंत कैसे निष्पादित करता है - यह फ़ोकस या धुंध होने की प्रतीक्षा नहीं करता है। –
आप document.hidden का उपयोग कर सकते हैं: https://developer.mozilla.org/en-US/docs/Web/API/Page_Visibility_API#document.hidden_Read_only – SleepWalker