我在我的Firefox擴展中有一個類似於數據集的哈希表,並且我願意將它保存在一個簡單的文本文件中。我一直在經歷很多示例代碼,但是這些代碼都不適合我。例如,1,2。我是在Firefox上開發擴展的初學者,在我看來,寫入文件的語法有點複雜。任何人都可以給我一個實例嗎?順便說一句,我正在使用unix。因爲我看到了寫入文件的例子,他們使用的是windows系統調用。Firefox擴展將數據寫入文件
0
A
回答
1
下面是一些示例代碼到一個名爲myfile.txt的文件寫入到你的Firefox配置文件目錄:
var txt = "my file contents";
var file = Components.classes["@mozilla.org/file/directory_service;1"].getService(Components.interfaces.nsIProperties).get("ProfD", Components.interfaces.nsIFile);
file.append("myfile.txt");
var fs = Components.classes["@mozilla.org/network/file-output-stream;1"].createInstance(Components.interfaces.nsIFileOutputStream);
fs.init(file, 0x02 | 0x08 | 0x20, 0664, 0); // write, create, truncate
fs.write(txt, txt.length);
fs.close();
如果您使用的是火狐附加組件SDK(Jetpack的),你需要稍作修改。
var {Cc, Ci} = require("chrome");
var txt = "my file contents";
var file = Cc["@mozilla.org/file/directory_service;1"].getService(Ci.nsIProperties).get("ProfD", Ci.nsIFile);
file.append("myfile.txt");
var fs = Cc["@mozilla.org/network/file-output-stream;1"].createInstance(Ci.nsIFileOutputStream);
fs.init(file, 0x02 | 0x08 | 0x20, 0664, 0); // write, create, truncate
fs.write(txt, txt.length);
fs.close();
0
這是更簡單,直接的方式:
Components.utils.import("resource://gre/modules/osfile.jsm");
// Saving the pointed filename into your Firefox profile
let whereToSave = OS.Path.join(OS.Constants.Path.profileDir, "YOUR-FILENAME.txt");
// Convert your "hash table" to a Typed Array[1]
let dataToSave = hashTableAsArrayBufferView;
// Check MDN[2] for writeAtomic() details
OS.File.writeAtomic(whereToSave, dataToSave).then(function(aResult) {
// Write operation finished
...
}, Components.utils.reportError);
[1]:https://developer.mozilla.org/en-US/docs/Web/API/ArrayBufferView
相關問題
- 1. 附加數據文件與Firefox擴展
- 2. NS_ERROR_UNEXPECTED嘗試從Firefox擴展中向文件寫入文本
- 3. Firefox擴展覆蓋注入JavaScript文件?
- 4. 在Firefox擴展中嵌入SWF文件
- 5. 在Mozilla Firefox擴展中寫入文件 - 奇怪的錯誤
- 6. 從Firefox擴展中寫入文件的安全位置?
- 7. 使用Firefox擴展公開文件寫入網頁
- 8. Firefox擴展文件結構
- 9. Firefox擴展:存儲插件數據
- 10. 從Chrome擴展中寫入數據庫
- 11. 通過Firefox擴展將CSS文件注入網頁
- 12. 將數據寫入文件
- 13. 將數據寫入文件
- 14. 將數據寫入文件
- 15. VSCode擴展寫入和打開文件
- 16. Firefox擴展插件?
- 17. 如何引用Firefox擴展的數據目錄中的文件?
- 18. 在Firefox擴展中的文件之間共享數據
- 19. Firefox擴展:無法解析擴展存儲的JSON數據
- 20. Firefox擴展存儲數據的位置?
- 21. Firefox擴展的文件拖動+下降
- 22. Firefox擴展重定向文件
- 23. 加載的Jscript文件到Firefox擴展
- 24. Firefox擴展的可執行文件
- 25. 創建文件使用擴展的Firefox
- 26. Firefox 19.0.2刪除代理擴展文件
- 27. 等待文件複製到Firefox擴展
- 28. 使用文件夾啓動Firefox擴展
- 29. 將數據寫入文本文件
- 30. Firefox擴展,訪問文檔
它不是爲我工作。 :( – Ehsan
你可以給一些代碼示例,看看是否有任何錯誤記錄在錯誤控制檯? – ekcr1