मैं जावास्क्रिप्ट से फ़ाइल डाउनलोड शुरू करने के सर्वोत्तम तरीके के बारे में कुछ और विचार ढूंढ रहा हूं।एक फ़ाइल डाउनलोड शुरू करना जो आईई में भी अच्छा काम करता है?
- एक मेटा रिफ़्रेश हैडर साथ
- उपयोग window.location.replace() एक पेज
- उपयोग एक iframe src पर सेट करें:
Best way to initiate a download? जो संक्षेप किया जा सकता है अच्छा विचारों का एक बहुत है
- एक window.open() का प्रयोग करें
- सर्वर सीधे आउटपुट फ़ाइल है, सामग्री-प्रकार और सेटिंग सामग्री-विन्यास
उन सभी दृष्टिकोणों का उपयोग उन ब्राउज़रों के लिए ठीक काम करता है जिनके साथ मैं परीक्षण कर रहा हूं, IE8 को छोड़कर।
- आइफ्रेम क्योंकि पर्यावरण मैं उपयोग कर रहा हूँ द्वारा निर्धारित कुकीज़ के काम नहीं कर रहा: IE8 के साथ, मैं समस्याओं का एक गुच्छा मिलता है। मुझे लगता है कि मुझे इसे हल करने के लिए पी 3 पी हेडर सक्षम करने की आवश्यकता होगी, लेकिन पर्यावरण मुझे हेडर सेट करने की इजाजत नहीं देता है, इसलिए पी 3 पी
- window.location.replace() IE8 में छोड़कर काम करता है, खिड़की का पता बार फ़ाइल में यूआरएल में बदलता है और अंतर्निहित विंडो रिक्त डाउनलोड की गई फ़ाइल खोले जाने के बाद
- मेटा रीफ्रेश दृष्टिकोण भी काम करता है, लेकिन फिर भी पता बार फ़ाइल के यूआरएल में बदल जाता है और अंतर्निहित विंडो रिक्त फ़ाइल डाउनलोड के बाद
- मैं खिड़की से बचने की कोशिश कर रहा हूं .open() से किसी भी पॉपअप ब्लॉक को चकमा दें केर समस्याओं
- सर्वर वातावरण मैं तैयार हूं आप उत्पादन के लिए फ़ाइल ही है, जैसे आप में ASP.NET के रिस्पांस वस्तु
कर सकता है कहते हैं, की अनुमति नहीं होगी मैं भी इन तरीकों प्रयास नहीं किया है आईई 6 या आईई 7 के साथ, इसलिए वहां अन्य आश्चर्य हो सकते हैं।
तो क्या किसी के पास आईई में डाउनलोड शुरू करने के लिए कोई अन्य सुझाव है, जहां (1) कोई पॉपअप शामिल नहीं है और (2) फ़ाइल को सहेजा या खोला जा सकता है और (3) कोई रिक्त विंडो पीछे नहीं छोड़ी गई है, (3) सिर्फ जावास्क्रिप्ट, एचटीएमएल और एक फाइल के लिए एक यूआरएल का उपयोग कर?
<script type="text/javascript">
window.onload= function() {
window.location= document.getElementById('downloadlink').href;
}
</script>
<p>
Your download will begin shortly. If it doesn't,
<a id="downloadlink" href="file.zip">click here</a>.
</p>
या एक साथ एक ही बजाय मेटा ताज़ा:
डेनवर माइक
क्या आप सर्वर के वातावरण पर विस्तार कर सकते हैं? –
हाय जोएल, यह Salesforce.com सर्वर पर चलाने के लिए बनाया जा रहा है - उनके पास एपेक्स नामक अपनी प्रोग्रामिंग भाषा है। –