>Форум Mozilla Россия http://forum.mozilla-russia.org/index.php >Разработка http://forum.mozilla-russia.org/viewforum.php?id=18 >вопрос по nsITransfer/nsIWebBrowserPersist http://forum.mozilla-russia.org/viewtopic.php?id=24400 |
AllSeeingI > 27-06-2008 16:06:18 |
Здравствуйте все, скачать файл с сервера можно двояко. Тихо (без окна Download): Выделить код Код:var webBrowserPersist = Cc["@mozilla.org/embedding/browser/nsWebBrowserPersist;1"].createInstance(Ci.nsIWebBrowserPersist); webBrowserPersist.persistFlags = Ci.nsIWebProgressListener.PERSIST_FLAGS_REPLACE_EXISTING_FILES | Ci.nsIWebProgressListener.PERSIST_FLAGS_BYPASS_CACHE; webBrowserPersist.progressListener = myDownloadProgressListener; // наш собственный progress listener webBrowserPersist.saveURI(uri, null, null, null, null, targetUrl); и с показом окошка Download: Выделить код Код:var webBrowserPersist = Cc["@mozilla.org/embedding/browser/nsWebBrowserPersist;1"].createInstance(Ci.nsIWebBrowserPersist); // Create download and initiate it: var xfer = Cc["@mozilla.org/transfer;1"].createInstance(Ci.nsITransfer); xfer.init(sourceUri, targetUrl, "Download", null, new Date(), null, webBrowserPersist); webBrowserPersist.persistFlags = Ci.nsIWebProgressListener.PERSIST_FLAGS_REPLACE_EXISTING_FILES | Ci.nsIWebProgressListener.PERSIST_FLAGS_BYPASS_CACHE; webBrowserPersist.progressListener = xfer; webBrowserPersist.saveURI(sourceUri, null, null, null, null, targetUrl); Беда в том, что во втором случае мы перекрываем себе webBrowserPersist.progressListener, и уже не можем программно выяснить, когда же всё-таки заканчивается скачка файла. Есть ли здесь какое-то решение? |
INFOMAN > 28-06-2008 00:58:27 |
Могу предложить тупой способ: повесить оверлей на окно закачки. |