アプリケーションのアドオンを作成しています。クライアントは、いくつかのWebページを表示し、そこからいくつかのファイルをダウンロードするためにお金を払っています。彼らは、アドオンによってこのダウンロードプロセスを自動化したいと考えています。そのため、[名前を付けてページを保存]を選択してダウンロードの完了を待つ代わりに、アドオンをクリックしてプロセスを忘れることができます。問題は、WebページがブラウザにCookieを提供していることです。したがって、最良の方法は[ファイル]->[名前を付けてページを保存]です。アドオンでやりたいです。このためのfirefox-javascriptの方法はありますか?nsiDownloaderを使用しました。ただし、保存されるのはhtmlのみで、写真などは保存されません。誰かがこの問題で私を導くことができますか?
編集: こんにちは、これはsaiprasadのおかげでトリックを行ったコードです
var dir =Components.classes["@mozilla.org/file/local;1"]
.createInstance(Components.interfaces.nsILocalFile);
dir.initWithPath("C:\\filename");
var file = Components.classes["@mozilla.org/file/local;1"]
.createInstance(Components.interfaces.nsILocalFile);
file.initWithPath("C:\\filename.html");
var wbp = Components.classes['@mozilla.org/embedding/browser/nsWebBrowserPersist;1']
.createInstance(Components.interfaces.nsIWebBrowserPersist);
alert("going to save");
wbp.saveDocument(content.document, file,dir, null, null, null);
alert("saved");
編集: しかし、それでも一部のWebページは「名前を付けてページを保存」として正確に保存されません。これらの保存されたページは、元のページのようにレンダリングされるのではなく、いくつかのhtmlの例のように見えます。