नमस्ते,किसी भी सर्वर अनुरोध के बिना एक फ़ाइल डाउनलोड ट्रिगर
मैं एक जे एस आधारित अनुप्रयोग है कि कुछ जटिल काम करता है और एक <div>
बारे में कुछ जानकारी (वास्तव में, लाइनों के सैकड़ों तक) लॉग पर काम कर रहा हूँ।
मेरा लक्ष्य "लॉग सहेजें" बटन होना है जो मेरे लॉगिंग <div>
की सामग्री को सहेजने के लिए ब्राउज़र के डाउनलोड संवाद को ट्रिगर करता है।
- अंतिम उपयोगकर्ता फ़ाइल पर पूरा नियंत्रण होना चाहिए:
अधिक संक्षेप में, इन इस सुविधा के लिए आवश्यकताओं हैं। एस/उसे भविष्य के संदर्भ के लिए इसे सहेजने/संग्रहित करने में सक्षम होना चाहिए, इसे किसी समस्या को हल करने में सहायता प्राप्त करने के लिए समर्थन विभाग को मेल करें, इसे ऐप में वापस लोड करें, आदि। इसलिए एचटीएमएल 5 की वेब स्टोरेज एपीआई यहां मदद नहीं करती है (डेटा होगा ब्राउज़र-परिभाषित स्थान पर सहेजा जाएं और जेएस को छोड़कर इसे आसानी से पुनर्प्राप्त नहीं किया जाएगा)।
- एप्लिकेशन ऑफ़लाइन काम करने में सक्षम होना चाहिए (कम से कम कुछ परिस्थितियों में)। वह, और दक्षता, इसलिए मैंने सर्वर को डेटा को "सामग्री-स्वभाव" शीर्षलेख के साथ वापस लाने के विचार को त्याग दिया।
- फ़ाइल को
text/plain
के रूप में ठीक से चिह्नित किया जाना चाहिए, इसलिए ब्राउज़र सामान्य फ़ाइल डाउनलोड की तरह डिफ़ॉल्ट क्रियाओं (जैसे "नोटपैड पर खोलें") का सुझाव दे सकता है। इसे पहली आवश्यकता के एक विशिष्ट पहलू के रूप में देखा जा सकता है। - उपयोगकर्ता को
<div>
की सामग्री को टेक्स्ट एडिटर में कॉपी-पेस्ट करने और उसे वहां से सहेजने के लिए निश्चित रूप से डरावना है, और यही कारण है कि मैं इससे बचने की कोशिश कर रहा हूं।
मैं इस साइट पर, WHATWG और W3C साइटों पर और वेब पर सामान्य रूप से बिना किसी सफलता के खोज कर रहा हूं। क्या यह बिल्कुल करने योग्य है?
मुझे सबसे नज़दीकी मिला है data:
यूआरएल का उपयोग करके। मेरा पहला प्रयास, एक पोस्ट एक्शन करने के लिए, सामग्री प्रकार के माध्यम से नहीं मिल सका, इसलिए यह UA की ह्युरिस्टिक्स में गिर जाएगी। मुझे एक बटन की तरह देखने के लिए <a>
लिंक स्टाइल करके इसे type
विशेषता देकर थोड़ा बेहतर मिला, लेकिन फिर UA बहुत ही स्मार्ट खेलेंगे और सहेजने के बजाय सामग्री प्रस्तुत करेगा (और उपयोगकर्ता को ब्राउज़र से फ़ाइल को सहेजने के लिए कहेंगे यह चरण कॉपी-पेस्ट दृष्टिकोण लेने से भी बदतर हो जाता है, क्योंकि पृष्ठ की बचत ब्राउज़र के बीच जंगली रूप से भिन्न होती है)।
यदि data:
यूआरएल को "सामग्री-स्वभाव" के साथ जोड़ने के लिए कुछ तरीका था-जैसे संकेत, चीजें वास्तव में चिकनी हो सकती हैं।
सादर, Herenvardo
क्या फ्लैश जैसे प्लगइन का उपयोग करना है? मुझे नहीं पता कि मानक एचटीएमएल के साथ क्या करना संभव है, लेकिन फ्लैश एक विकल्प था, तो यह बहुत आसान होगा ... –
मेरे पास एक समान सवाल था http://stackoverflow.com/questions/2832392/can-you- do-file-io-use-javascript-without-activex लेकिन केवल एक जवाब मिला। मुझे नहीं लगता कि यह संभव है हालांकि। –
क्या "कोड के साथ क्लिपबोर्ड पर प्रतिलिपि बनाना और उपयोगकर्ता को नोटपैड (या पसंदीदा टेक्स्ट एडिटर) में पेस्ट करने के लिए कह रहा था" विचार आया? क्लिपबोर्ड मेगाबाइट्स को संभाल सकता है, हालांकि नोटपैड कुछ मेगाबाइट्स पर चकित हो सकता है। दूसरी ओर: http://stackoverflow.com/questions/17836273/export-javascript-data-to-csv-file-without-server-interaction – TWiStErRob