嘗試寫使用XUL代碼中Windows臨時目錄中的文件寫入文件:無法使用XUL
function writeFile_launch_application(utility_name,utility_path)
{
var data ='tasklist /nh /fi "imagename eq '+utility_name+'" | find /i "'+utility_name+'">nul && (echo alerady running) || ("'+utility_path+'")';
//alert(data);
var file = Cc["@mozilla.org/file/directory_service;1"].
getService(Ci.nsIProperties).
get("TmpD", Ci.nsIFile);
file.append("launch_application.bat");
file.createUnique(Ci.nsIFile.NORMAL_FILE_TYPE, 0666);
// Then, we need an output stream to our output file.
var ostream = Cc["@mozilla.org/network/file-output-stream;1"].
createInstance(Ci.nsIFileOutputStream);
ostream.init(file, -1, -1, 0);
// Finally, we need an input stream to take data from.
const TEST_DATA = data;
let istream = Cc["@mozilla.org/io/string-input-stream;1"].
createInstance(Ci.nsIStringInputStream);
istream.setData(TEST_DATA, TEST_DATA.length);
NetUtil.asyncCopy(istream, ostream, function(aResult) {
if (!Components.isSuccessCode(aResult)) {
// an error occurred!
}
})
}
但得到錯誤:
Timestamp: 11/29/2012 11:03:09 PM
Error: ReferenceError: Cc is not defined
Source File: chrome://myaddon/content/overlay.js
Line: 199
我也試過在頂部以下行添加我的代碼,但它沒有解決以上錯誤:
Components.utils.import("resource://gre/modules/NetUtil.jsm");
Components.utils.import("resource://gre/modules/FileUtils.jsm");
現在,它說:「需要是沒有定義」 – user1862780
是否使用附加組件生成器?我使用它有很多問題,現在我用'cfx'開發。嘗試關閉/刷新瀏覽器並清理其緩存。 –
不使用插件生成器,我直接編輯xpi文件。 – user1862780