मुझे एक जावास्क्रिप्ट टाइमर मिला है जो निरंतर आधार पर XMLHTTP अनुरोध कर रहा है (प्रत्येक 10 सेकंड में एक बार)। जब खिड़की या टैब फोकस खो देता है तो मुझे टाइमर को रोकने में सक्षम होना अच्छा लगेगा।क्या यह निर्धारित करने का कोई विश्वसनीय तरीका है कि ब्राउज़र टैब या विंडो निष्क्रिय है या नहीं?
मुझे onFocus
और onBlur
window
ऑब्जेक्ट पर ईवेंट पूरी तरह से अवगत है, लेकिन वे सभी ब्राउज़रों में विश्वसनीय रूप से आग नहीं लगाते हैं। उदाहरण के लिए, in Safari, tabs don't trigger the events।
<html>
<head>
<title>Testing</title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/prototype/1.6.0.2/prototype.js"></script>
</head>
<body>
<div id="console"></div>
<script type="text/javascript">
window.onfocus = function(event) {
$('console').insert('Window gained focus<br />');
}
window.onblur = function(event) {
$('console').insert('Window lost focus<br />');
}
</script>
</body>
</html>
है वहाँ किसी को भी निर्धारित करते समय एक ब्राउज़र विंडो या टैब खो देता है/लाभ फोकस है कि सभी लोकप्रिय ब्राउज़रों में में काम करता है के लिए एक तकनीक है:
सरल नीचे कोड कार्यक्षमता मैं तलाश कर रहा हूँ distills?
, इस फ्लैश का उपयोग कर व्याख्या करने योग्य नहीं है। http://stackoverflow.com/questions/1099063/detecting-embedded-object-focus-in-safari – jedierikb
संभावित डुप्लिकेट [क्या यह पता लगाने का कोई तरीका है कि कोई ब्राउज़र विंडो वर्तमान में सक्रिय नहीं है?] (http: // stackoverflow .com/प्रश्न/1060008/is-a-way-to-detect-if-a-browser-window-is-not-current-active) – rvighne