2011-12-29 12 views
6

संभव डुप्लिकेट:
test if window has focusयह जानते हुए कि जब कोई उपयोगकर्ता किसी अन्य टैब बनाम ब्राउज़र में अपनी साइट को देख रहा है/आवेदन

एक साइट मैं अक्सर उपयोग एक ऑनलाइन चैट समारोह है (एक पॉप अप विंडो, फेसबुक के समान ही)। जब मेरा ब्राउज़र इस साइट के टैब पर नहीं है, तो मुझे प्राप्त किसी भी नए चैट संदेश की चेतावनी देने के लिए एक चेतावनी दी जाती है, और जब मेरा ब्राउज़र इस साइट के टैब पर नहीं होता है, तो ध्वनि नहीं होती है (डिज़ाइन द्वारा मुझे लगता है) ।

यह कैसे प्राप्त किया जाता है? कोड (जावास्क्रिप्ट मैं मानता हूं और इसलिए मेरे क्लाइंट पक्ष पर निष्पादित करता हूं) जानता है कि जब मैं साइट पर नहीं देख रहा हूं?

धन्यवाद

+1

आप शायद के लिए देख रहे: [इस उत्तर] (http://stackoverflow.com/a/3479960/416518) – lsuarez

+1

देखें: http://stackoverflow.com/questions/1760250/how-to-tell-if-browser-tab-is-active –

+0

"जब मेरा ब्राउज़र इस साइट के टैब पर नहीं है, तो चेतावनी देने के लिए एक चेतावनी सुनाई जाती है मुझे किसी भी नए चैट संदेश प्राप्त हुए, और जब मेरा ब्राउज़र इस साइट के टैब पर नहीं है, तो ध्वनि नहीं होती है (डिज़ाइन द्वारा मुझे लगता है)। " कृपया क्या आप स्पष्टीकरण दे सकते हैं? आपका बयान अनिवार्य रूप से खुद को दोहरा रहा है। –

उत्तर

0

ऊपर से अन्य टिप्पणियों के आधार पर एक व्यापक उत्तर। हां यह ज्यादातर दोहराना सवाल है, लेकिन यह अच्छी तरह से पूछा गया था, इसलिए अगर किसी ने इसका उत्तर नहीं दिया तो यह हमेशा के लिए अनुत्तरित प्रश्नों के वॉल्ट में रहेगा। इस प्रश्न के साथ अन्य लोगों को यह जवाब ढूंढने के लिए, कृपया प्रश्न टिप्पणियों में अन्य लिंक किए गए विषयों का संदर्भ लें।

<BGSOUND id="BGSOUND_ID" LOOP=1 SRC="jsilence.mid"> 

<script type="text/javascript" language="JavaScript"> 

    function onBlur() { 
     document.body.className = 'blurred'; 
    }; 
    function onFocus(){ 
     document.body.className = 'focused'; 
    }; 

    if (/*@[email protected]*/false) { // check for Internet Explorer 
     document.onfocusin = onFocus; 
     document.onfocusout = onBlur; 
    } 
    else { 
     window.onfocus = onFocus; 
     window.onblur = onBlur; 
    } 

    function playSound(audioURL) 
    { 
     if (document.body.className == 'blurred') 
     { 
      if (document.all) 
      { 
       document.all['BGSOUND_ID'].src=audioURL; 
      } 
      else 
      { 
       self.iplayer.location.replace('jsplayer.htm?'+audioURL); 
      } 

      setTimeout("stopSound();", 500); 
     } 
    } 

    function stopSound() 
    { 
     if (document.all) 
     { 
      document.all['BGSOUND_ID'].src='jsilence.mid'; 
     } 
     else 
     { 
      self.iplayer.location.replace('jsplayer.htm?stop'); 
     } 
    } 

    function NewMessage(message) 
    { 
     ShowMessage(message); 
     playSound('ding.mid'); 
    } 

</script> 

इस कोड, एक ध्वनि है, तो उपयोगकर्ता उन ब्राउज़र की किसी उपयोग कर रहा है खेलने के लिए आईई & ओपेरा के bgsound टैग का उपयोग करेगा अन्यथा यह मान लिया गया पेज नामित iPlayer के एक iframe है और एक embeded 3 पार्टी खिलाड़ी का उपयोग करता है। विवरण के लिए स्रोत देखें।

  1. फोकस कोड स्रोत: Here
  2. ध्वनि बजाना स्रोत: Here
संबंधित मुद्दे