私はFacebookの現在のページから写真をダウンロードするFirefox拡張機能を開発しています。 デフォルトのダウンロードディレクトリをXに変更する方法があり、より好ましくはユーザーに入力するように要求する方法があるのだろうかと思います。 おかげfirefoxでダウンロードフォルダのデステンションを変更するには?
0
A
答えて
1
この情報は、設定ファイルに保存され、about:config
下で観察することができます。好みbrowser.download.useDownloadDir
がbrowser.download.dir
に設定されたダウンロードディレクトリをtrue
するように設定されている場合は、自動的に使用されています。この変数がfalse
に設定されている場合、ブラウザは最初のダイアログで選択browser.download.lastDir
に設定されたディレクトリで、どこファイルを保存するようにユーザーに要求します。しかし
、あなたはおそらく、これらのプリファレンスを使用したいのではなく、ユーザーがダウンロードディレクトリを選択してはいけない拡張子を書いている場合。あなたはこれらの線に沿って、そのためのnsIFilePickerを使用します。
var filePicker = Components.classes["@mozilla.org/filepicker;1"]
.createInstance(Components.interfaces.nsIFilePicker);
filePicker.init(window, "Please choose a download directory", filePicker.modeGetFolder);
if (filePicker.show() == 0)
window.alert("Directory chosen: " + filePicker.file.path);
1
//give your file details in this line
downloadFile(title, url, fileType);
// Don't change anything below if you don't know what it does
function getDownloadFile(defaultString, fileType)
{
var nsIFilePicker = Components.interfaces.nsIFilePicker;
var fp = Components.classes["@mozilla.org/filepicker;1"].createInstance(nsIFilePicker);
fp.init(window, "Save As", nsIFilePicker.modeSave);
try {
var urlExt = defaultString.substr(defaultString.lastIndexOf(".")+1, 3);
if (urlExt!=fileType) defaultString += "." + fileType
}catch(ex){}
fp.defaultString = defaultString;
fp.appendFilter(fileType, "*." + fileType);
var rv = fp.show();
if (rv == nsIFilePicker.returnOK || rv == nsIFilePicker.returnReplace) {
var file = fp.file;
var path = fp.file.path;
return file;
}
return null;
}
function downloadFile(title, url, fileType)
{
var file = getDownloadFile(title, fileType);
var persist = Components.classes['@mozilla.org/embedding/browser/nsWebBrowserPersist;1'].createInstance(Components.interfaces.nsIWebBrowserPersist);
var ios = Components.classes['@mozilla.org/network/io-service;1'].getService(Components.interfaces.nsIIOService);
var uri = ios.newURI(url, null, null);
var target = ios.newFileURI(file)
var xfer = Components.classes["@mozilla.org/transfer;1"]
.createInstance(Components.interfaces.nsITransfer);
xfer.init(uri, target, "", null, null, null, persist);
persist.progressListener = xfer;
persist.saveURI(uri, null, null, null, null, file);
}
関連する問題
- 1. Firefox Web Extention API - ダウンロードフォルダを取得する
- 2. C#を使用してブラウザのダウンロードフォルダを変更する
- 3. Firefoxアイコンを変更するには?
- 4. Chrome拡張 - 特定のダウンロードのダウンロードフォルダを変更します
- 5. セレンのFirefoxのウィンドウでpythonでinnerHTMLを変更するには?
- 6. プログラムでFirefoxのホームページを変更する
- 7. FirefoxのscrollTopをzIndexに変更する
- 8. FirefoxでiFrameのサイズを動的に変更する方法は?
- 9. プログラムでFirefoxを変更するVB.net
- 10. どのようにFirefoxの言語を変更するには?
- 11. SharePoint:IEはFireFoxではCSSの変更が更新されます
- 12. firefox Quantum dev toolのフォントを変更するには?
- 13. FirefoxのHTTPリクエスト中にPOST urlをオンザフライで変更する
- 14. 動的にサイズ変更画像は、Firefox
- 15. HTTPリクエストヘッダー(ユーザーエージェント)を変更する - Chrome/Firefox
- 16. Firefoxのブレークポイントの変更submit
- 17. ユーザエージェントの変更python + selenium + firefox
- 18. Firefoxの拡張機能でstatusbarpanelの背景色を変更するには
- 19. Cordova - ダウンロードフォルダにファイルをダウンロード
- 20. Javascript srcの変更がFirefox/Firefoxで動作しない
- 21. Firefoxの拡張機能で通知のタイムアウトを変更する
- 22. Firefox 55.03 resizeはセレンの自動化でサイズ変更中です
- 23. firefox/safariのデフォルトタブでイメージを変更する方法
- 24. javascriptでfirefox bidiの数字を変更することはできますか?
- 25. 端末のダウンロードフォルダにファイルをアップロードする方法は?
- 26. FireFox webextensionの設定を変更することはできますか?
- 27. 新しいWebExtensionsアドオンでFirefoxのタブの色を変更する方法は?
- 28. iphone 7シミュレータのダウンロードフォルダにファイルを置く
- 29. Firefox - ローカルでアドオンと必須歌を変更する
- 30. 表示されたURLをFirefoxアドオンで変更する
uはプログラムによるヘルプや何 –
yesにしたい、私はsaveURLは、ファイルを保存するためのものと同じようにする方法を探しています。 –