2009-05-06 26 views
7

मेरा पृष्ठ केवल पृष्ठभूमि में होने पर अधिसूचना ध्वनियां बनाना चाहिए। फोकस स्थिति बदलते समय मैं window.onfocus और window.onblur ईवेंट ट्रैक कर सकता हूं। हालांकि, मुझे नहीं पता कि विंडो फोकस लोड करेगी या नहीं, क्योंकि यह पृष्ठभूमि टैब में लोड हो सकती है, उदाहरण के लिए।मैं कैसे पता लगा सकता हूं कि ब्राउज़र विंडो केंद्रित है या नहीं?

मैं onfocus/onblur ईवेंट प्राप्त करने से पहले ध्वनि कैसे खेलना है या नहीं, मैं कैसे तय करूं?

उत्तर

2

क्या आप इसे केवल लोड नहीं किया जा सकता है, और फिर जैसे ही आपको किसी भी प्रकार की घटना (कीडाउन/मूसोमव) प्राप्त होती है, उस स्थिति को ध्यान में रखकर बदल सकते हैं?

+0

यह एक अच्छा विचार है। यह एक आदर्श समाधान नहीं है, लेकिन यह सबसे अच्छी बात हो सकती है जो काम करेगी। – Peeja

+2

'mousemove' ट्रिगर किया गया है भले ही आप अपने माउस को धुंधली विंडो पर ले जाएं, इसके बजाय' mousedown' का उपयोग करें। इसे यहां आज़माएं: http://www.quirksmode.org/dom/events/tests/mousemove.html –

0

पृष्ठ प्रारंभ में खोला गया है (अग्रभूमि में) ऑनफोकस ईवेंट ट्रिगर किया जाना चाहिए। कम से कम यह एफएफ 3/आईई 8 में है।

तो आप शुरुआत में ध्वनि सुन सकते थे, ऑनफोकस ट्रिगर होने पर उन्हें बंद कर सकते हैं, और ऑनब्लर ट्रिगर होने पर उन्हें वापस चालू कर सकते हैं।

+0

यहां तक ​​कि जब कोई स्विच-टू-न्यू-टैब प्राथमिकता के साथ एक ओपन-टू-न्यू-टैब करता है? (यह नहीं कह रहा है कि यह नहीं पूछ रहा है, क्योंकि मैं जानना चाहता हूं। :) – chaos

+0

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

+0

IE8 में उसी तरह काम करने लगता है। –

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

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