JavaScriptでファイル生成

[新着] Webテンプレートを仮オープンしました



0   名前: 匿名 : 2006/12/26(火) 17:53  ID:IhnQvdme
JavaScriptでファイルを生成するにはどうしたらいいのでしょうか?
FireFoxの拡張機能のScrapBookを使っていて、あれは切り取ったWebページを
日付/index.htmlという名前でファイルを新規で作成しているので、
出来ることは分かっているのですが、その方法が分かりません。
現在、自分でScrapBookのソースを読んでいるのですが、まだまだ素人なもので
理解できるのがいつになるか…

もちろん自分でも引き続きソース読みは続けますが、もしご存知の方が
いらっしゃいましたら、ご教授いただけないでしょうか?
よろしくお願い致します。

1   名前: 匿名 : 2006/12/26(火) 17:53  ID:5m2bGK6y
JavaScript だけでは不可能。

ただし、

・WinIE なら ActiveX、WSH と連携して
・Firefox 拡張なら XPCOM を利用して

ファイル操作可能。

2   名前: 匿名 : 2006/12/26(火) 17:53  ID:S1fquwiV
回答ありがとうございます。

ということは、ScrapBookはXPCOMを利用しているから出来ているんですね。
それを踏まえた上でソースを読んでみようと思います。

3   名前: 匿名 : 2006/12/26(火) 17:53  ID:TONUvmyS
XPCOMについて勉強してみて、コンポーネントの呼び出し方、インタフェースの参照方法などは
理解できたのですが、お恥ずかしい話、ファイルの生成についてどのインタフェースを使えば
いいのかがわかりません。“file”が名前に含まれているインタフェース(nsIFile等)を見ている
のですが、機能が紹介されているページも見つからず、またこちらに書き込んでしまいました。
周囲に詳しい人もいないので、もしよろしければ再度ご教授いただけないでしょうか?
お願い致します。

4   名前: ミルク : 2006/12/26(火) 17:53  ID:0TsGAndP
私も是非知りたいです!
どなたかよろしくお願いします!!

5   名前: 匿名 : 2006/12/26(火) 17:53  ID:fqUPSjiv
>>3-4
最終的に何がしたいかによる。と言うか、インタフェース名で検索すれば割とヒットするはずなんだが(以下は http://d.hatena.ne.jp/nitsuji/20061220 を参考にした)。

function writeToFile (filePath, content) {
    try {
        netscape.security.PrivilegeManager.enablePrivilege ('UniversalXPConnect');
        
        var file = Components.classes["@mozilla.org/file/local;1"].createInstance (Components.interfaces.nsILocalFile);
        file.initWithPath (filePath);
        if (! file.exists ()) file.create (0, 0664);
        
        var out = Components.classes["@mozilla.org/network/file-output-stream;1"].createInstance (Components.interfaces.nsIFileOutputStream);
        out.init (file, 0x20 | 0x02, 00004, null);
        out.write (content, content.length);
        out.flush ();
        out.close ();
        
    } catch (e) {
        throw e;
    }
}

writeToFile ('C:\\test.txt', 'TEST\n'); // for Win


http://developer.mozilla.org/en/docs/XPCOM
http://lxr.mozilla.org/mozilla/source/xpcom/io/
http://xulplanet.jp/xultu/
http://piro.sakura.ne.jp/xul/tips/x0021.html

「Web ページ製作」という掲示板の主旨からは幾分外れているので、XUL 関係のコミュニティを探した方が良いと思う。

6   名前: 匿名 : 2006/12/26(火) 17:53  ID:S1fquwiV
>5.匿名さん
どうもありがとうございます!
僕も↑で紹介されているページを見つけて、そちらを参考にして
なんとか理解していたところです。
たしかに、おっしゃる通り、話がXULに踏み込んでいるので今後は
そちらを探したいと思います。

親切丁寧にありがとうございましたm(_ _)m

一覧へ戻る