2
當我完成一個下載(傳遞下載文件的路徑)時,有什麼辦法可以讓Firefox在我的擴展中調用JavaScript函數?如何在每次下載文件時使Firefox調用擴展功能?
當我完成一個下載(傳遞下載文件的路徑)時,有什麼辦法可以讓Firefox在我的擴展中調用JavaScript函數?如何在每次下載文件時使Firefox調用擴展功能?
NVM,發現了這件事由我自己 - 如果有人需要:https://developer.mozilla.org/en/Code_snippets/Downloading_Files
複製/粘貼的解決方案。享受
function DownloadFile(sLocalFileName, sRemoteFileName)
{
var saveToDirectory = 'C:\\Users\\louis\\downloads\\';
var chrome = require("chrome");
var oIOService = chrome.Cc["@mozilla.org/network/io-service;1"].getService(chrome.Ci.nsIIOService)
var oLocalFile = chrome.Cc["@mozilla.org/file/local;1"].createInstance(chrome.Ci.nsILocalFile);
oLocalFile.initWithPath(saveToDirectory + sLocalFileName);
var oDownloadObserver = {onDownloadComplete: function(nsIDownloader, nsresult, oFile) {console.log('download complete...')}};
var oDownloader = chrome.Cc["@mozilla.org/network/downloader;1"].createInstance();
oDownloader.QueryInterface(chrome.Ci.nsIDownloader);
oDownloader.init(oDownloadObserver, oLocalFile);
var oHttpChannel = oIOService.newChannel(sRemoteFileName, "", null);
oHttpChannel.QueryInterface(chrome.Ci.nsIHttpChannel);
oHttpChannel.asyncOpen(oDownloader, oLocalFile);
}
DownloadFile("saveAsThis.mp3","http://domain.com/file.mp3");