2011-03-25 11 views
6
chrome.tabs.onUpdated.addListener(checkForValidUrl); 
function checkForValidUrl(tabId, changeInfo, tab) { 
    if (tab.url.indexOf('https') > -1) { 
     var tabURL = tab.url; 
     console.log("\n<TimeStamp>" + getTimestamp() + "</TimeStamp><Browser>Chrome</Browser><URL>" + tabURL + "</URL>\n"); 
     window.requestFileSystem(window.PERSISTENT, 5 * 1024 * 1024, initFs); 

     function initFs(fs) { 
      fs.root.getFile 
      ('log.txt', { create: true, exclusive: true }, function (fileEntry) { 
       fileEntry.isFile = true; 
       fileEntry.name = 'log.txt'; 
       fileEntry.fullPath = '/log.txt'; 
       fileEntry.createWriter(function (fileWriter) { 
        fileWriter.seek(fileWriter.length); 
        var bb = new BlobBuilder(); 
        bb.append("\n<TimeStamp>" + getTimestamp() + "</TimeStamp><Browser>Chrome</Browser><URL>" + tabURL + "</URL>\n"); 
        fileWriter.write(bb.getBlob('text/plain')); 
       }); 
      }); 
     } 
    } 
} 
+1

क्या आप क्रोम एक्सटेंशन लिख रहे हैं? यदि ऐसा है, तो कृपया निर्दिष्ट करें (एक टैग और/या प्रश्न में)। – Martijn

+0

अनुरोध में त्रुटि कॉलबैक जोड़ने का प्रयास करें FileSystem किसी भी त्रुटि को प्रदर्शित करने के लिए कॉल करें। – HBP

+0

मैंने अपने प्रश्न में परिवर्तन संपादित किए हैं, पिछली समस्या हल हो गई है और मुझे एक नई समस्या का सामना करना पड़ा है। मुझे अग्रिम धन्यवाद, धन्यवाद। – Derek

उत्तर

10

इस के आधार पर:

इस लेख लिखने के समय, गूगल क्रोम 9+ FileSystem API का ही काम कर रहे कार्यान्वयन है। चूंकि एक समर्पित ब्राउज़र यूआई फ़ाइल/कोटा प्रबंधन के लिए अभी तक मौजूद नहीं है, एपीआई के साथ क्रोम के बिना क्रोम का उपयोग नहीं किया जा सकता है - असीमित-कोटा-फॉर-फाइल ध्वज (नोट: यदि आप एक ऐप बना रहे हैं या क्रोम वेब स्टोर के लिए एक्सटेंशन, असीमित स्टोरेज मैनिफेस्ट फ़ाइल अनुमति पर्याप्त होगी)।

http://www.html5rocks.com/tutorials/file/filesystem/#toc-support

में पाया मैं आप Chrome का उपयोग कर रहे हैं और आप --unlimited-कोटा के लिए फ़ाइलों झंडा

+0

अगर मैं मैनिफेस्ट फ़ाइल में "असीमित स्टोरेज" अनुमति जोड़ना चाहता था, तो यह मुझे संकेत देगा "मैनिफेस्ट मान्य JSON, syntex त्रुटि नहीं है। समस्या क्या है? – Derek

+0

मैनिफेस्ट फ़ाइल वैध JSON वाक्यविन्यास होना चाहिए। यहां देखें: http://code.google.com/chrome/extensions/manifest.html#permissions – HBP

+0

मैंने अपने प्रश्न में परिवर्तन संपादित किए हैं, पिछली समस्या हल हो गई है और मुझे एक नई समस्या का सामना करना पड़ा है। मुझे पहले से धन्यवाद, धन्यवाद। – Derek

1

localStorage का उपयोग करने के बारे में क्या?

+0

मैंने स्थानीय सिस्टम में फ़ाइल लिखने पर HTML5 फ़ाइल सिस्टम सिस्टम एपीआई पर ट्यूटोरियल देखा है, मुझे विश्वास था कि मैंने हर कदम का पालन किया है, लेकिन मैं अपने स्थानीय सिस्टम के अंदर अपनी लॉग फ़ाइल देखने में सक्षम हूं। कोई सलाह ? – Derek

+0

मैंने अपने प्रश्न में बदलाव संपादित किए हैं, पिछली समस्या हल हो गई है और मुझे एक नई समस्या का सामना करना पड़ा है। मुझे अग्रिम धन्यवाद, धन्यवाद। – Derek

+0

स्थानीय स्टोरेज शायद सबसे आसान विकल्प है। असीमित स्टोरेज निर्दिष्ट करने के बाद भी, केवल 5 एमबी तक सीमित है। इसे इस तरह प्रयोग करें: 'लोकल स्टोरेज [" लॉग "] =" हैलो वर्ल्ड! "लिखने के लिए, और 'लॉग = लोकल स्टोरेज [" लॉग "]' पढ़ने के लिए। –

7

इस फाइल सिस्टम एपीआई वास्तव में एक लिखने के लिए प्रकट नहीं होता है सेट नहीं किया है मान आपकी हार्ड डिस्क पर सही "फ़ाइल"। ऐसा लगता है कि ब्राउज़र में एक सैंडबॉक्स वाले सुरक्षित क्षेत्र में एक फ़ाइल स्टोर करना प्रतीत होता है। किसी दिए गए वेब ऐप के लिए फ़ाइलों को प्रबंधित करने के लिए आपको एक त्वरित और गंदे छोटे फ़ाइल प्रबंधक (या वहां एक ढूंढें) लिखना होगा। आप अपने ऐप द्वारा बनाई गई सभी फाइलों को देखने के लिए filesystem://<your URL here>/temporary/ पर जाकर भी प्रयास कर सकते हैं।

+0

एक परिवर्तन: फाइल सिस्टम: http // <आपका यूआरएल यहां>/अस्थायी/ –

+0

लिखित फ़ाइल को ब्राउजर के बाहर से एक्सेस किया जा सकता है? मान लें कि मैं एक टेक्स्ट फाइल लिखता हूं, क्या मैं इसे किसी बाहरी टेक्स्ट एडिटर में खोल सकता हूं? – ycomp

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