2010-01-18 28 views
5

जब उपयोगकर्ता हाइपरलिंक पर क्लिक करता है, तो मैं एक पॉपअप विंडो खोल रहा हूं जो फ़ाइल डाउनलोड करता है। पोस्ट डाउनलोड, यह खुला/सहेजें संवाद बॉक्स दिखाता है। एक बार डाउनलोड होने के बाद मैं पॉपअप विंडो बंद करना चाहता हूं (जब उपयोगकर्ता को फ़ाइल को सहेजने के लिए कहा जाता है)। मैंने window.close विधि की कोशिश की है, लेकिन यह काम नहीं करता है क्योंकि संदर्भ पॉपअप विंडो नहीं है लेकिन खुला/सहेजें संवाद बॉक्स है।फ़ाइल डाउनलोड करने के बाद ब्राउज़र पॉपअप पेज बंद करें

उत्तर

5

मुझे लगता है कि आप इसे प्रोग्रामिक रूप से नियंत्रित नहीं कर सकते हैं। यह ब्राउज़र-विशिष्ट चीज है जहां कुछ ब्राउज़र आपको विंडो को बंद करने के लिए चेक बॉक्स पर टिकने की अनुमति देते हैं और इसी तरह।

+0

हां। कुछ उपयोगकर्ताओं को उस खिड़की के आसपास छड़ी पसंद है, उदाहरण के लिए। इसलिए वे डाउनलोड करने के बाद से 'रन' चला सकते हैं; कि वे इसे कैसे पसंद करते हैं और आपको उसमें हस्तक्षेप करने की कोशिश नहीं करनी चाहिए (न कि आप कर सकते हैं)। हर कोई जो उस व्यवहार को पसंद नहीं करता है, उसे दूर जाने के लिए बॉक्स को अनचेक कर देगा। – bobince

1

ब्राउज़र के पास स्वयं को तय करने की आदत है कि ब्राउज़र डाउनलोड करने, प्लग-इन और सर्वर सेटिंग्स के आधार पर फ़ाइल डाउनलोड करने या ब्राउज़र विंडो के अंदर इसे खोलने का प्रयास करना है या नहीं। ऐसा लगता है कि आप एक नई विंडो में लिंक खोल रहे हैं, जैसे कि ब्राउज़र इसे डाउनलोड करने के बजाय फ़ाइल खोलने जा रहा था, और फिर ब्राउज़र ने डाउनलोड का चयन किया है। यह उपयोगकर्ता को एक डाउनलोड की गई फ़ाइल और एक खाली विंडो के साथ छोड़ देता है जिस पर आपका कोई नियंत्रण नहीं है।

इसे डाउनलोड करने के लिए मजबूर करने के लिए, आप एप्लिकेशन/बल-डाउनलोड के लिंक के लक्ष्य के लिए सामग्री-प्रकार शीर्षलेख सेट करने में सक्षम होना चाहिए। आप यह कैसे करेंगे यह आपके सेटअप पर निर्भर करेगा, और क्या फ़ाइल सीधे डाउनलोड की गई है (जिस स्थिति में यह एक सर्वर सेटिंग होगी) या PHP या .Net के माध्यम से (जिस स्थिति में प्रोग्रामेटिक रूप से हेडर सेट करना आसान है)। यह भी सुनिश्चित करें कि हाइपरलिंक में target="_blank" विशेषता नहीं है जो एक नई विंडो में लिंक खोलता है।

+0

धन्यवाद कार्ल। समस्या फ़ाइल डाउनलोड नहीं कर रही है लेकिन डाउनलोड के बाद पॉपअप विंडो बंद कर रहा है। – Ankit

+1

सही सामग्री-प्रकार शीर्षलेख के साथ, और कोई लक्ष्य = "_ खाली" (या window.open) तो पॉपअप को पहले स्थान पर भी नहीं खोलना चाहिए। –

+0

मैं पॉपअप खोलना चाहता हूं और उस विंडो में एक कस्टम संदेश दिखाना चाहता हूं। लेकिन एक बार डाउनलोड पूरा होने के बाद, मैं उस खिड़की को बंद करना चाहता हूं। – Ankit

2

आप एक बात कर सकते हैं:

चरण 1 "अपने सर्वलेट या struts कार्रवाई प्रयोग में फ़ाइल लेखन कोड" के बाद

: कॉल "response.flushBuffer();" चरण 2: फोन response.sendRedirect ("close.htm")

जहां close.htm है: डाउनलोड पूरा हुआ या नहीं

<html> 


<script> 


window.close(); 

</script> 

</html> 

केवल समस्या की पहचान है। मुझे नहीं लगता कि ऐसा करने का एक संभावित तरीका है। वैसे भी पॉप-अप को तब तक खोलने का कोई उपयोग है जब तक डाउनलोड पूर्ण नहीं हो जाता है। एक बार डाउनलोड शुरू होने के बाद आप पॉप-अप को बंद कर सकते हैं। नीचे जावास्क्रिप्ट का उपयोग कर, है ना?

pop_up= window.open("", "PopUpName"); 
pop_up.document.write('POPUP TEXT');  
pop_up.close(); 
0

यह ब्राउज़र कार्यक्षमता है, आप इसके लिए ब्राउज़र सेटिंग बदल सकते हैं। आपको प्रोग्रामिंग के लिए नहीं जाना चाहिए। डिफ़ॉल्ट रूप से यदि आप फ़ायरफ़ॉक्स में फ़ाइल डाउनलोड करेंगे तो यह बचत के लिए पूछेगा, लेकिन क्रोम में यह पूछता नहीं है। आपको अपने ब्राउज़र की सेटिंग बदलने की जरूरत है।

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