में पृष्ठभूमि पृष्ठ और पॉपअप पृष्ठ के बीच संचार मैं वर्तमान में Google क्रोम के लिए एक एक्सटेंशन लिखने की कोशिश कर रहा हूं, जिसका उपयोग फ़ाइलों को अपलोड करने के लिए किया जा सकता है।क्रोम एक्सटेंशन
दो पृष्ठ हैं: पृष्ठभूमि पृष्ठ और पॉपअप पृष्ठ। पॉपअप पृष्ठ तब प्रकट होता है जब आप ओमनी-बार के आइकन पर क्लिक करते हैं। आप उस मानक फ़ाइल को निर्दिष्ट कर सकते हैं जिसे आप मानक HTML <input type='file' ... />
का उपयोग करके अपलोड करना चाहते हैं।
फ़ाइल का चयन करने के बाद, और "अपलोड करें" पर क्लिक करने के बाद, फ़ाइल का नाम (+ पथ) पृष्ठभूमि पृष्ठ पर भेजा जाना चाहिए। यह, क्योंकि पॉपअप को उपयोगकर्ता द्वारा स्क्रीन पर कहीं और क्लिक करके बंद किया जा सकता है, जो पृष्ठ को बंद करता है।
जब पॉपअप सक्रिय होता है, और पृष्ठभूमि पृष्ठ सर्वर पर फ़ाइल अपलोड कर रहा है, तो पॉपअप को पृष्ठभूमि पृष्ठ से अपलोड करने (0-100%) की प्रगति को भी प्राप्त करना चाहिए, और यह जानकारी प्रदर्शित करना चाहिए। समाप्त होने पर, उपयोगकर्ता को यूआरएल देखना चाहिए।
समस्या यह है कि, मुझे नहीं पता कि इन दो पृष्ठों के बीच संवाद कैसे करें। दस्तावेज यह कैसे काम करता है इस बारे में बहुत स्पष्ट नहीं है। एक बात मैं कोशिश की है, पृष्ठभूमि पृष्ठ पर एक समारोह, upload(filename)
कहा जाता है बना रही है, और पॉपअप पेज में इस कोड डाल:
var BGPage = chrome.extension.getBackgroundPage();
BGPage.upload(the_filename);
लेकिन यह काम नहीं किया, समारोह आमंत्रित नहीं किया गया।
क्या कोई जानता है कि मैं पॉपअप पेज से फ़ाइल पेज पर फ़ाइल नाम कैसे भेज सकता हूं, और पॉपअप पेज के माध्यम से पृष्ठभूमि पृष्ठ से अपलोड स्थिति (और अंततः लिंक) कैसे प्राप्त कर सकता हूं?
अग्रिम धन्यवाद!
क्या आपने मेनिफेस्ट में पृष्ठभूमि पृष्ठ घोषित किया है? क्या आप वाकई पृष्ठभूमि कार्य नहीं कह रहे हैं? क्या आपने त्रुटियों के लिए कंसोल की जांच की है? – serg
हां, मैंने मैनिफेस्ट में पृष्ठभूमि पृष्ठ घोषित किया; मुझे यकीन है कि पृष्ठभूमि फ़ंक्शन को कॉल नहीं किया गया है, क्योंकि मैंने लाइन से शुरुआत की है: अलर्ट ("यह काम करता है!") ;, और एक कोशिश-पकड़ रिटर्न 'अपरिभाषित' है। –
आपके द्वारा प्रदान किया गया कोड में कोई त्रुटि नहीं है, इसलिए यह कहीं और जगह है जहां आपने नहीं दिखाया था। – serg