2011-03-18 16 views
11

मेरे पास एक स्थानीय HTML फ़ाइल से लोड किया गया कुछ जावास्क्रिप्ट कोड है (बिना वेबसर्वर के जा रहा है) .. यानी, file://स्थानीय जावास्क्रिप्ट - स्थानीय फाइल को लिखें

का उपयोग करके खोला गया है क्या इस फ़ाइल में जावास्क्रिप्ट कोड स्थानीय फ़ाइल को लिखने के लिए उपयोग किया जा सकता है?

मुझे पता है कि क्रॉस-साइट प्रतिबंध जावास्क्रिप्ट में बहुत सी चीजों की अनुमति नहीं देते हैं, लेकिन यह क्रॉस-साइट नहीं है, इसलिए इसे सिद्धांत में अनुमति दी जानी चाहिए।

+0

[स्वत: संशोधित एचटीएमएल-जावास्क्रिप्ट फ़ाइल] के संभावित डुप्लिकेट (http://stackoverflow.com/questions/3854059/self-modifying-html-javascript-file) –

उत्तर

11

एक jQuery प्लगइन jQuery.twFile है जो आपको स्थानीय फ़ाइल को पढ़ने और लिखने की अनुमति देता है।

+0

धन्यवाद! यह काम करता प्रतीत होता है। मुझे जांचने और वापस पाने दो। – Jus12

+1

यह यहां काम नहीं करता है (फ़ायरफ़ॉक्स 24)। कोई विचार? –

4

इंटरनेट   एक्सप्लोरर के मामले में आप ActiveX का उपयोग कर सकते हैं।

<html> 
    <head> 
     <script type="text/javaScript"> 
      function WriteToFile() 
      { 
       var fso = new ActiveXObject("Scripting.FileSystemObject"); 
       var txtFile = fso.CreateTextFile("c:\\TestFile.txt", true); 
       txtFile.WriteLine("This is a test"); 
       txtFile.Close(); 
      } 
     </script> 
    </head> 

    <body> 
     <p> 
      <script type="text/javaScript"> WriteToFile(); </script> 
     </p> 
    </body> 
</html> 
+0

activeX विचार अच्छा है, लेकिन मैं Firefox में भी – Jus12

+1

काम शायद एक Firefox विस्तार आप कुछ अच्छा करना होगा करने के लिए पृष्ठ की जरूरत है। https://developer.mozilla.org/en/Code_snippets/File_I%2F%2FO इसे देखें –

+0

ActiveX? तो यह केवल विंडोज पर काम करता है? सुरक्षा के प्रभावों के बारे में क्या? –

0

ब्राउज़र में फ़ाइल सिस्टम पहुंच के लिए कोई मूल एपीआई * नहीं है। आपको पहले इसकी ज़रूरत है!

उदाहरण के लिए, Internet Explorer में, वहाँ एक ActiveX वस्तु उपयोग है:

var fso = new ActiveXObject("Scripting.FileSystemObject"); 

... लेकिन यह उनकी ब्राउज़र सेटिंग आराम करने के लिए उपयोगकर्ता की आवश्यकता है। अन्य ब्राउज़रों पर, आप एक जार (जावा आर्काइव) फ़ाइल का उपयोग करने में सक्षम हो सकते हैं।

आप यह भी देख सकते हैं कि गैर-ब्राउज़र जावास्क्रिप्ट कंटेनर क्या प्रदान करते हैं, उदा। माइक्रोसॉफ्ट एचटीए फाइलें (एचटीएमएल एप्लीकेशन) विंडोज एक्टिवएक्स फाइलसिस्टम ऑब्जेक्ट जुर्माना का समर्थन करेगी, जो आपके वायरस चेकिंग सॉफ्टवेयर को एचटीए फाइलों को निष्पादित करने की अनुमति देती है।

+0

* एपीआई अब मौजूद हैं, लेकिन अच्छे समर्थन की अभी भी कमी है: http://caniuse.com/#feat=filesystem –

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