2012-04-26 26 views
21


मैं ऑनलाइन प्रश्नोत्तरी के लिए एक वेबपेज लिखना चाहता हूं। बेसिक आवश्यकता मेरे पास है, यदि प्रश्नोत्तरी लेने वाला व्यक्ति ब्राउज़र बदलता है या ब्राउज़र को कम किए बिना भी नई विंडो खोलता है, यानी यदि व्यक्ति कोशिश करता है किसी अन्य विंडो/टैब से उत्तर देखें, प्रश्नोत्तरी बंद होनी चाहिए। मैं यह कैसे कर सकता हूं?
पीएस: यह कुछ बहुत ही नई HTML5 सुविधा नहीं होनी चाहिए। मैं चाहता हूं कि यह वर्तमान में सभी प्रमुख ब्राउज़र द्वारा समर्थित हो।जावास्क्रिप्ट यह पता लगाने के लिए कि क्या उपयोगकर्ता टैब

+1

खैर निश्चित रूप से टैब में बदलने के रूप में अब तक जावास्क्रिप्ट का उपयोग करके पता लगाया जा सकता के रूप में मैं मुझे पता है, एक नया ब्राउज़र खोलने की तरह खिड़की के ध्यान में परिवर्तन पता लगाया जा सकता है, तो चाहता था know.What! – Maxsteel

+0

आपको पता नहीं चलेगा कि यह किसी अन्य ब्राउज़र विंडो में होता है या नहीं। –

उत्तर

36

आप निर्धारित कर सकते है, तो किसी टैब या विंडो खिड़की करने के लिए एक कलंक/फोकस घटना श्रोता संलग्न द्वारा सक्रिय है।

jQuery में यह होगा

$(window).focus(function() { 
    //do something 
}); 

$(window).blur(function() { 
    //do something 
}); 

इस से उद्धृत तो जवाब: https://stackoverflow.com/a/1760268/680578

+1

खिड़की पर ध्यान केंद्रित करने के लिए भी आग लग जाएगी, लेकिन खिड़की अभी भी दिखाई दे रही है। – Matt

+1

क्या यह पता लगाने में सक्षम होगा कि उपयोगकर्ता क्विज़ विंडो को कम किए बिना नई विंडो/ब्राउज़र लॉन्च करता है या नहीं? – Maxsteel

+0

यदि कोई नया पॉपअप होता है, तो वर्तमान विंडो पर फ़ोकस में कोई नुकसान होगा, है ना? – Kristian

14

यदि आप इसका समर्थन करने वाले ब्राउज़र को लक्षित कर रहे हैं, तो आप एचटीएमएल 5 में उपलब्ध पृष्ठ दृश्यता API का उपयोग कर सकते हैं। यह सीधे टैब परिवर्तन, प्रति-कहानियों का पता नहीं लगाता है, लेकिन दृश्यता में परिवर्तन करता है। जिसमें टैब परिवर्तन शामिल होंगे (लेकिन इस तक सीमित नहीं)।

देखें https://developer.mozilla.org/en/DOM/Using_the_Page_Visibility_API

+0

यह एक आसान एपीआई है हालांकि यह ध्यान दिया जाना चाहिए कि इस समय (6 मार्च, 2015) कुछ सीमाएं हैं: 'Alt' + 'Tab' (जैसे किसी भी प्रकार से ऐप स्विचिंग) फ़ायरफ़ॉक्स के लिए विंडोज पर पंजीकृत नहीं है/क्रोम/IE10। प्रत्येक ब्राउज़र के भीतर टैब स्विच करना ठीक काम करता है हालांकि। आईओएस पर ऐप स्विचिंग या डिवाइस लॉकिंग ** ** एक दृश्यता परिवर्तन ट्रिगर करता है। – scunliffe

4

बेस्ट देशी समारोह हाथ नीचे, कोई jQuery।

document.hasFocus 

कलम की जांच करें, जांचें कि जब आप लिंक पर जाते हैं और कोडपेन टैब पर वापस जाते हैं तो क्या होता है।

https://codepen.io/damianocel/pen/Yxxzdj

+0

ओपेरा, फ़ायरफ़ॉक्स, सफारी और क्रोम में मेरे लिए काम करने लगता है। दूसरों में परीक्षण नहीं किया है। – Umair

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