दिलचस्प पोस्ट
पासवर्ड प्रोग्राम के साथ मैं स्क्रीन लॉक कैसे सेट कर सकता हूं? NotifyDataSetChanged को कॉल करने के बाद ListView में स्थिति बनाए रखना PHP में बाइट सरणी के लिए स्ट्रिंग आर में भूखंडों की श्रृंखला से मूवी बनाना 'एनपीएम' को आंतरिक या बाहरी कमांड, ऑपरेटिव प्रोग्राम या बैच फ़ाइल के रूप में मान्यता नहीं दी गई है मैवेन प्रोजेक्ट वर्जन वंशानुक्रम – क्या मुझे मूल संस्करण को निर्दिष्ट करना है? गतिशील रूप से स्प्रिंग सिक्योरिटी में <intercept-url> एक्सेस विशेषता मान कैसे तय है? सम्मिलित पंक्ति की पहचान प्राप्त करने का सर्वोत्तम तरीका? मैं कैसे निर्धारित कर सकता हूं कि एप्पल विधियाँ एसिंक्रोनस हैं? उत्सुक लोड बहुलोफिक स्ट्रेज में टिप्पणियों के लिए रेगेक्स, टिप्पणियों में तार, आदि Linq- टू-संस्थाओं – शामिल करें () विधि लोड नहीं हो रही है मैं डीजेंगो पोस्ट_एसएवी संकेत कोड के साथ परस्पर विरोधी से जुड़ने से कैसे रोक सकता हूं? मैं लोड किए जाने के बाद जावास्क्रिप्ट के साथ Google मानचित्र का आकार कैसे बदलूं? मैं कैसे देख सकता हूं कि सूची में एक और केवल एक सत्य मान है?

Google Chrome एक्सटेंशन के लिए ब्रॉसर बंद करें पर ईवेंट?

मैं Google Chrome के लिए एक एक्सटेंशन विकसित कर रहा हूं मेरी पृष्ठभूमि स्क्रिप्ट, प्रत्येक, XMPP API का उपयोग करने वाले किसी सर्वर पर अधिकृत करता है, और एक PubSub नोड के लिए सदस्यता लेता है। मुझे बाहर निकलने पर सदस्यता समाप्त करने की आवश्यकता है, अन्यथा डमी सदस्यता सर्वर पर रहेगी। क्या Google Chrome एक्सटेंशन API में कोई भी onBrowserClose इवेंट है?

वेब के समाधान से एकत्रित समाधान "Google Chrome एक्सटेंशन के लिए ब्रॉसर बंद करें पर ईवेंट?"

क्रोम एक्सटेंशन एपीआई में ऐसी कोई घटना नहीं है।

हालांकि एक chrome.windows.onRemoved घटना है जो हर समय एक खिड़की बंद हो जाती है। मुझे लगा कि आप इस घटना में जांच सकते हैं यदि आपने अंतिम विंडो बंद कर दी है, लेकिन दुर्भाग्य से क्रोम के अतुल्यकालिक प्रकृति के कारण यह काम नहीं करता है।

मैंने जो भी कोशिश की थी, उस पर एक आसान AJAX अनुरोध चल रहा था। एजेएक्स के अनुरोध को सर्वर पर कभी नहीं मिला, क्योंकि क्रोम पहले ही घटना को चलाने से पहले बंद हो चुका था (या इसे छोड़ दिया)।

अंतिम उत्तर बनाना: नहीं, वर्तमान में आप जहां तक ​​मुझे पता है, नहीं कर सकते । अपडेट पर ध्यान देने के लिए आप http://crbug.com/30885 पर निम्न बग रिपोर्ट को तारांकित करना चाहेंगे।

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

1. निम्न चर का उपयोग कर एक चर num_tabs को प्रारंभ करें:

 chrome.tabs.getAllInWindow( null, function( tabs ){ console.log("Initial tab count: " + tabs.length); num_tabs = tabs.length; }); 

2. वृद्धि जब num_tabs टैब बनाया जाता है:

 chrome.tabs.onCreated.addListener(function(tab){ num_tabs++; console.log("Tab created event caught. Open tabs #: " + num_tabs); }); 

3. घटाव num_tabs जब एक टैब निकाल दिया जाता है और अपने ब्राउज़र को चालू करें ईवेंट हैंडलर को चलाने पर अगर num_tabs = 0

 chrome.tabs.onRemoved.addListener(function(tabId){ num_tabs--; console.log("Tab removed event caught. Open tabs #: " + num_tabs); if( num_tabs == 0 ) notification.cancel(); }); 

यह मेरे लिए काम करता है:

 chrome.windows.onRemoved.addListener(function(windowId){ alert("!! Exiting the Browser !!"); }); 

यह chrome.windows बजाय chrome.windows लेता है।

टीएल; डीआर: window.onunload कोशिश window.onunload इवेंट, यह कुछ मामलों के लिए काम करता है।

जैसा कि इससे पहले कि हम आम तौर पर onBrowserClose इवेंट पर कुछ नहीं संभाल सकते हैं और बंद होने से ब्राउज़र को रोकने से पहले इसका उल्लेख किया गया था। लेकिन कुछ मामलों के लिए हम window.onunload को इस्तेमाल कर सकते window.onunload सिंक्रनाइज़ करने के लिए ईवेंट का उपयोग कर सकते हैं, और यह वास्तव में समन्वयित होने पर काम करता है

मेरे अनुभव से आप कम से कम कर सकते हैं:

  • HTML5 localStorage में कुछ जानकारी (उदाहरण के लॉग्स) में सहेजें (जो तुल्यकालिक है )।
  • कुछ अतुल्यकालिक क्रोम एक्सटेंशन एपीआई फ़ंक्शंस को कॉल करें, लेकिन आप परिणाम प्राप्त नहीं कर सकते। (यह मेरे लिए काम करता है! यै!)
  • तुल्यकालिक XMLHTTPRequest (हाँ, कभी-कभी यह काम करता है) करें।

ब्राउज़र बंद होने वाला ईवेंट एक बहुत बार लगातार अनुरोध है अपडेट के लिए स्टार http://crbug.com/30885 और एक चालाक हैक के लिए बग रिपोर्ट को पढ़ा ताकि ब्राउज़र को एक महत्वपूर्ण प्रेस के माध्यम से बंद किया जा सके।