2011-10-02 46 views

回答

3

你不能做太多考慮到加載項SDK API。相反,您可以break out of the sandbox並在用戶的個人資料目錄中創建一個文件(請參閱File I/O code snippets)。例如。這些方針的東西,從用戶的配置文件讀取文件myData.txt

var {Cu, components} = require("chrome"); 
var {FileUtils} = Cu.import("resource://gre/modules/FileUtils.jsm"); 
var {NetUtils} = Cu.import("resource://gre/modules/NetUtil.jsm"); 
var file = FileUtils.getFile("ProfD", ["myData.txt"]); 

NetUtil.asyncFetch(file, function(inputStream, status) { 
    if (!components.isSuccessCode(status)) { 
    // Handle error! 
    return; 
    } 

    // The file data is contained within inputStream. 
    // You can read it into a string with 
    var data = NetUtil.readInputStreamToString(inputStream, inputStream.available()); 
    console.log(data); 
}); 

需要注意的是不同尋常的語法來導入模塊,是由於bug 683217

+0

還有的還,但因爲這是一個內部API,它不是真的比你的答案更好。 – Nickolay

+0

@Nickolay:是的,我沒有看看內部的API--我猜他們不應該保持不變? –

+0

對。固定鏈接,因爲評論不可編輯:https://addons.mozilla.org/en-US/developers/docs/sdk/1.1/packages/api-utils/docs/file.html – Nickolay

相關問題