मैं एक पॉपअप और पृष्ठभूमि पृष्ठ के साथ एक Google क्रोम एक्सटेंशन लिख रहा हूँ। पॉपअप कुछ घटनाओं की सदस्यता लेता है जो पृष्ठभूमि उत्पन्न करता है, और जब पॉपअप चला जाता है तो मैं उन घटनाओं से सदस्यता समाप्त करना चाहता हूं। हालांकि, मुझे पॉपअप से उत्पन्न होने वाले ऑनबर्ननलोड या ऑनलोड लोड घटनाओं को नहीं देखा जाता है। क्या इन घटनाओं को निकाल दिया गया है? यदि नहीं, तो पॉपअप को कैप्चर करने के तरीके पर कोई विचार?क्या Google क्रोम एक्सटेंशन में popup.html के लिए ऑनबर्ननलोड ईवेंट ट्रिगर करता है?
उत्तर
मेरे पास एक समान समस्या है। मेरे मामले में, मैंने पॉपअप पेज में मौजूद तत्व पर फ़ोकस सेट किया है। तो जब पॉपअप बंद हो जाता है, तो तत्व फोकस खो देता है और मैं धुंधला घटना पकड़ सकता हूं।
यह चाल मेरे लिए काम नहीं करती - वास्तव में आशावादी थी - लेकिन नहीं। –
"प्रीनलोड" ब्राउज़र क्रिया पॉपअप के लिए निकाल दिया गया है। मेरा विश्वास करो, मैंने कोशिश की। "अनलोड" को सही ढंग से निकाल दिया जाना चाहिए, इसलिए, इसके लिए सुनो।
असल में, मेरे पास एक समान प्रणाली है, जो आपको addEventListener का उपयोग करके ईवेंट संलग्न करने की अनुमति देती है, और जब अनलोड ईवेंट आग लगती है तो वे स्वचालित रूप से साफ़ हो जाते हैं।
यहां एक छोटी सी युक्ति है: जाहिर है कि आप console.log
का उपयोग नहीं कर सकते हैं, क्योंकि जब तक अनलोड ईवेंट आग लगती है, तो यह बहुत देर हो चुकी है। लेकिन, आप यह कर सकते हैं:
var background = chrome.extension.getBackgroundPage();
addEventListener("unload", function (event) {
background.console.log(event.type);
}, true);
उपरोक्त कोड का उपयोग करके आप पृष्ठभूमि पृष्ठ के कंसोल, जो दिखाना चाहिए कि अनलोड घटना को सही ढंग से निकाल दिया जाता है खोल सकते हैं।
पृष्ठभूमि कंसोल टिप के लिए धन्यवाद! बहुत उपयोगी! –
@AlexStack मैंने आपके संपादन को वापस कर दिया। 'chrome.runtime.getBackgroundPage' बराबर नहीं है - यह असीमित है। – Xan
कम से कम किसी ईवेंट पेज के साथ और कुछ लॉग इन करने के लिए पृष्ठभूमि पृष्ठ पर कॉल करने के लिए 'chrome.runtime.getBackgroundPage()' का उपयोग करके, मुझे यह काम 'अनलोड' ईवेंट के लिए नहीं दिखता है। – jdunning
यदि आपने अपने एक्सटेंशन में पृष्ठभूमि पृष्ठों की बजाय event pages का उपयोग करने के लिए स्विच किया है, तो उस तक पहुंच प्राप्त करने का अनुशंसित तरीका chrome.runtime.getBackgroundPage()
पर एक फ़ंक्शन के साथ कॉल कर रहा है जिसे पृष्ठभूमि पृष्ठ संदर्भ के साथ वापस बुलाया जाता है।
हालांकि, अगर आप इस तरह की एक onbeforeunload
हैंडलर में पृष्ठभूमि पृष्ठ प्राप्त करने के लिए, कोशिश:
document.addEventListener("beforeunload", function() {
chrome.runtime.getBackgroundPage(function(backgroundPage) {
backgroundPage.log("unloading");
});
});
कॉलबैक ताकि log()
फोन किया कभी नहीं से पहले पेज अनलोड आग, नहीं लगता है।
उपरोक्त एक टिप्पणी में, पून ने पृष्ठ प्राप्त करने के लिए chrome.extension.getBackgroundPage()
का उपयोग करने का सुझाव दिया। काम करने के लिए मैं इसे प्राप्त करने का एकमात्र तरीका addEventListener()
के साथ हैंडलर बनाना नहीं था। इसके बजाय मैं पुराने स्कूल जाने के लिए और window
पर सीधे हैंडलर स्थापित करने के लिए किया था:
window.onbeforeunload = function() {
chrome.extension.getBackgroundPage().log("unloading");
};
कि अंत में पृष्ठभूमि पृष्ठ के माध्यम से मिला है।
- 1. क्रोम एक्सटेंशन में स्क्रिप्ट का उपयोग कर popup.html खोलें?
- 2. Google क्रोम एक्सटेंशन
- 3. Google क्रोम एक्सटेंशन
- 4. Google क्रोम जावास्क्रिप्ट 'फोकस' ईवेंट
- 5. Google क्रोम एक्सटेंशन - सर्वर
- 6. Google क्रोम एक्सटेंशन
- 7. Google क्रोम एक्सटेंशन
- 8. Google क्रोम एक्सटेंशन
- 9. Google क्रोम एक्सटेंशन - डीओएम
- 10. क्रोम एक्सटेंशन
- 11. Google क्रोम एक्सटेंशन पॉपअप नहीं दिखा रहा है
- 12. क्रोम एक्सटेंशन:
- 13. डीबग popup.html?
- 14. इवेंट ऑन ब्रॉउज़र Google क्रोम एक्सटेंशन के लिए बंद करें?
- 15. Google क्रोम एक्सटेंशन: माउस को
- 16. स्वचालित Google क्रोम एक्सटेंशन स्थापना
- 17. एक्सटेंशन में Google क्रोम सॉकेट एपीआई
- 18. Google क्रोम एक्सटेंशन और एनपीएपीआई
- 19. सेट अंतराल Google क्रोम एक्सटेंशन
- 20. क्रोम एक्सटेंशन
- 21. Google क्रोम/क्रोमियम एक्सटेंशन में कीबोर्ड शॉर्टकट
- 22. AJAXStop ईवेंट (क्रोम में)
- 23. Google क्रोम एक्सटेंशन सापेक्ष पथ
- 24. क्रोम एक्सटेंशन: पॉपअप
- 25. क्रोम एक्सटेंशन: ऑनक्लिक एक्सटेंशन आइकन, नए टैब में पॉपअप.html खोलें
- 26. क्रोम एक्सटेंशन: एक एक्सटेंशन को किसी पृष्ठ पर किसी ईवेंट के लिए सुनना है?
- 27. Google क्रोम iffame
- 28. क्रोम एक्सटेंशन
- 29. सामग्री सुरक्षा नीति: क्रोम एक्सटेंशन
- 30. क्या प्रत्येक अनुरोध में कस्टम HTTP शीर्षलेख इंजेक्ट करने के लिए कोई Google क्रोम एक्सटेंशन है?
मेरे पास यह सटीक प्रश्न है। क्या आपको कभी जवाब मिला? –