firefox37.0.2 imacros 8.9.7において
javascript
1function doMain() {
2 var request = Components.classes['@mozilla.org/xmlextras/xmlhttprequest;1']
3 .createInstance(Components.interfaces.nsIXMLHttpRequest);
4 request.open("GET",/*xyz.onion*/,false);//いちお隠しとかないと
5 request.send();
6 writeToFile("C:\Users\user\Downloads\test\","test.html",request.responseText);
7}
8//---------------------------------------------------
9//機 能:文字をUTF-8に変更
10//引 数:str:変更前データ
11//戻り値:変更した後のデータ
12//---------------------------------------------------
13function convertToUTF8(str) {
14 var uniconv = Components.classes["@mozilla.org/intl/scriptableunicodeconverter"]
15 .createInstance(Components.interfaces.nsIScriptableUnicodeConverter);
16
17 uniconv.charset = 'UTF-8';
18 return uniconv.ConvertFromUnicode(str);
19}
20//機 能: ファイルのopen処理
21//引 数: folder:フォルダ( \で終了)
22// fname:ファイル名
23//戻り値:
24//---------------------------------------------------
25function open(fPath) {
26 var node = Components.classes['@mozilla.org/file/local;1'];
27 node = node.createInstance(Components.interfaces.nsILocalFile);
28 node.initWithPath(fPath);
29 return node;
30}
31function writeToFile(folder, fname, fileData) {
32 var file = open(folder + fname);
33
34 var fos = Components.classes["@mozilla.org/network/file-output-stream;1"]
35 .createInstance(imns.Ci.nsIFileOutputStream);
36 fos.init(file, 0x02|0x08|0x20, 0664, 0);
37
38 var utf8bom = String.fromCharCode(239)+
39 String.fromCharCode(187)+
40 String.fromCharCode(191);
41 var data = utf8bom+this.convertToUTF8(fileData);
42
43 fos.write(data, data.length);
44
45 fos.close();
46}
47doMain();
が正常に動くことを確認しました……
技術的には可能だということです。
ではコードが間違っているのか?多分間違えてません。
何か勘違いしてるのでは?