2012-06-19 7 views
11

मैं स्थानीय में टेक्स्ट फ़ाइल बनाना चाहता हूं, जब मैं Google क्रोम में ब्राउज़ करता हूं तो यह बटन दिखाता है कि यह त्रुटि दिखा रहा है ActiveXObject और जब मैं ब्राउज़ करता हूं सफारी उस बटन पर क्लिक करें जो त्रुटि दिखा रहा है जैसे वैरिएबल नहीं मिल सकता: ActiveXObject। किसी भी एक मदद कर सकते हैं me.how मैं को प्राप्त करने और .ThanqActiveXObject परिभाषित नहीं किया गया है और वेरिएबल नहीं मिल सकता है: ActiveXObject

<script> 
     function createFile() {  
     var object = new ActiveXObject("Scripting.FileSystemObject");  
     var file = object.CreateTextFile("C:\\Hello.txt", true); 
     file.WriteLine('Hello World'); 
     alert('Filecreated'); 
     file.WriteLine('Hope is a thing with feathers, that perches on the soul.'); 
     file.Close(); 
     } 
    </script> 
<input type="Button" value="Create File" onClick='createFile()'> 
+2

आईई पर भी, यदि आप HTTP के माध्यम से दिए गए किसी पृष्ठ से ऐसा करते हैं, तो आप सुरक्षा ब्लॉक हिट करने जा रहे हैं। –

उत्तर

15

ActiveXObject केवल IE ब्राउज़र पर उपलब्ध है फ़ाइल बना सकते हैं। तो हर दूसरे UserAgent एक त्रुटि आप इस्तेमाल कर सकते हैं बजाय File API या File writer API (वर्तमान में only on Chrome कार्यान्वित)

+0

फ़ाइल एपीआई केवल पढ़ा जाता है, इसलिए आप नहीं कर सकते हैं। – Quentin

+0

ठीक है, मैंने अपना जवाब सुधार लिया, धन्यवाद। – fcalderan

+0

आपके उत्तर के लिए धन्यवाद। –

8

ActiveXObject अमानक और केवल Windows पर Internet Explorer के द्वारा समर्थित है आधुनिक ब्राउज़र पर

फेंक देते हैं।

प्लगइन का उपयोग किये बिना फ़ाइल सिस्टम को लिखने के लिए कोई मूल क्रॉस ब्राउज़र तरीका नहीं है, यहां तक ​​कि मसौदा File API ड्राफ्ट केवल पहुंच प्रदान करता है।

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

2

एक वेब ऐप window.requestFileSystem() पर कॉल करके एक सैंडबॉक्स फ़ाइल सिस्टम तक पहुंच का अनुरोध कर सकता है। क्रोम में काम करता है।

window.requestFileSystem = window.requestFileSystem || window.webkitRequestFileSystem; 
var fs = null; 

window.requestFileSystem(window.TEMPORARY, 1024 * 1024, function (filesystem) { 
    fs = filesystem; 
}, errorHandler); 

fs.root.getFile('Hello.txt', { 
    create: true 
}, null, errorHandler); 

function errorHandler(e) { 
    var msg = ''; 

    switch (e.code) { 
    case FileError.QUOTA_EXCEEDED_ERR: 
     msg = 'QUOTA_EXCEEDED_ERR'; 
     break; 
    case FileError.NOT_FOUND_ERR: 
     msg = 'NOT_FOUND_ERR'; 
     break; 
    case FileError.SECURITY_ERR: 
     msg = 'SECURITY_ERR'; 
     break; 
    case FileError.INVALID_MODIFICATION_ERR: 
     msg = 'INVALID_MODIFICATION_ERR'; 
     break; 
    case FileError.INVALID_STATE_ERR: 
     msg = 'INVALID_STATE_ERR'; 
     break; 
    default: 
     msg = 'Unknown Error'; 
     break; 
    }; 

    console.log('Error: ' + msg); 
} 

अधिक जानकारी here

+0

आपके उत्तर के लिए धन्यवाद। मैंने आपके कोड का उपयोग किया है .. बटन पर क्लिक करके यह दे रहा है। त्रुटि हैडलर परिभाषित नहीं है। कुछ भी मुझे याद आया है? –

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