आप फ़ायरफ़ॉक्स में जावास्क्रिप्ट में फ़ाइलें लिख सकते हैं, लेकिन आपको एक XPCOM ऑब्जेक्ट (आंतरिक ब्राउज़र API) का उपयोग करना होगा। किसी वेब पेज से जावास्क्रिप्ट लोड होने की अनुमति नहीं है, और इसका उपयोग फ़ायरफ़ॉक्स ऐड-ऑन (विशेषाधिकारों के उच्च स्तर के साथ) के अंदर चल रहे जावास्क्रिप्ट द्वारा किया जाना है।
अनधिकृत (वेब पेज) जावास्क्रिप्ट के लिए अधिक विशेषाधिकारों का अनुरोध करने का तरीका है और यदि उपयोगकर्ता इसे अनुदान देता है (अनुमति के लिए एक पॉप अप संवाद होगा), तो वेब पेज कोड फ़ाइल में लिखने में सक्षम होगा ।
लेकिन इससे पहले कि आप आगे, एक चेतावनी पढ़ें:
यह न मानक जावा स्क्रिप्ट है और मैं इस दृष्टिकोण की सिफारिश नहीं होगा जब तक आप एक बहुत ही विशेष एप्लिकेशन विकसित कर रहे, के लिए की तरह एक बहुत विशिष्ट तरीके से उपयोग किया जाएगा कि (उदाहरण, http://www.tiddlywiki.com/ क्लाइंट-साइड जावास्क्रिप्ट-एचटीएमएल केवल विकी)।
किसी वेबसाइट पर XPCOM विशेषाधिकारों का अनुरोध करना एक बुरा अभ्यास है! यह मूल रूप से किसी साइट से डाउनलोड किए गए .exe को चलाने के बराबर है। आप उपयोगकर्ता को फ़ायरफ़ॉक्स चलाने वाले उपयोगकर्ता की पहचान के साथ अपने कंप्यूटर (पढ़ने, लिखने, निष्पादित) तक पूर्ण पहुंच प्रदान करने के लिए कह रहे हैं। XPCOM उपयोग करने के लिए
अनुमति का अनुरोध करें (यह पुष्टि करने के लिए उपयोगकर्ता का संकेत देगा, कोई रास्ता नहीं यह से बचने के लिए):
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
फिर, (मोज़िला डेवलपर नेटवर्क से उदाहरण कोड) एक XPCOM वस्तु का उपयोग कर एक फ़ाइल पर लिखने :
1. // file is nsIFile, data is a string
2. var foStream = Components.classes["@mozilla.org/network/file-output-stream;1"].
3. createInstance(Components.interfaces.nsIFileOutputStream);
4.
5. // use 0x02 | 0x10 to open file for appending.
6. foStream.init(file, 0x02 | 0x08 | 0x20, 0666, 0);
7. // write, create, truncate
8. // In a c file operation, we have no need to set file mode with or operation,
9. // directly using "r" or "w" usually.
10.
11. // if you are sure there will never ever be any non-ascii text in data you can
12. // also call foStream.writeData directly
13. var converter = Components.classes["@mozilla.org/intl/converter-output-stream;1"].
14. createInstance(Components.interfaces.nsIConverterOutputStream);
15. converter.init(foStream, "UTF-8", 0, 0);
16. converter.writeString(data);
17. converter.close(); // this closes foStream
आप मैं के बारे में अधिक जानकारी प्राप्त कर सकते/ओ फ़ायरफ़ॉक्स में XPCOM यहाँ का उपयोग कर: https://developer.mozilla.org/en-US/docs/Code_snippets/File_I_O
क्यों downvote? –
मैंने इस सवाल का जवाब दिया कि यह क्लाइंट-साइड में एक फाइल बनाने का संदर्भ देता है, वैसे ही TiddlyWiki करता है। कुछ लोगों ने सवाल खारिज कर दिया है क्योंकि वे समझते हैं कि आप पूछ रहे हैं कि जावास्क्रिप्ट सर्वर की तरफ फाइलें बना सकता है या नहीं। शायद आपको स्पष्टीकरण देना चाहिए। – flpmor