下载窗口中的 firefox 下载文件 - Firefox 扩展!

Posted

技术标签:

【中文标题】下载窗口中的 firefox 下载文件 - Firefox 扩展!【英文标题】:firefox download file in the Download window - Firefox Extension! 【发布时间】:2011-06-09 11:08:37 【问题描述】:

我有这个下载文件的功能:

function downloadFile(httpLoc)

try 
    // new obj_URI object
    var obj_URI = Components.classes["@mozilla.org/network/io-service;1"].getService(Components.interfaces.nsIioservice).newURI(httpLoc, null, null);

    // new file object
    var obj_TargetFile = Components.classes["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsILocalFile);

    obj_TargetFile.initWithPath("d:\\te.zip");

    if(!obj_TargetFile.exists()) 
        obj_TargetFile.create(0x00,0644);
    

    var obj_Persist = Components.classes["@mozilla.org/embedding/browser/nsWebBrowserPersist;1"].createInstance(Components.interfaces.nsIWebBrowserPersist);



    obj_Persist.progressListener = 
        onProgressChange : function(aWebProgress, aRequest, aCurSelfProgress, aMaxSelfProgress, aCurTotalProgress, aMaxTotalProgress)
            var percentComplete = (aCurTotalProgress/aMaxTotalProgress)*100;
            var ele = document.getElementById("progress element");
            ele.innerhtml = percentComplete + "%";
        ,
        onStateChange: function(aWebProgress, aRequest, aStateFlags, aStatus) 
        
    

    // with persist flags
    const nsIWBP = Components.interfaces.nsIWebBrowserPersist;
    const flags = nsIWBP.PERSIST_FLAGS_REPLACE_EXISTING_FILES;
    obj_Persist.persistFlags = flags | nsIWBP.PERSIST_FLAGS_FROM_CACHE;

    //save file to target
    obj_Persist.saveURI(obj_URI, null, null, null, "", obj_TargetFile);

catch (e) 

    alert(e);


文件正在下载,但我在 Firefox 下载窗口中看不到它。如何使文件显示在下载窗口中并查看进度?

【问题讨论】:

【参考方案1】:

This 应该为您提供一个良好的开端,以正确的方式执行此操作。

【讨论】:

虽然此链接可能会回答问题,但它是better to include the essential parts of the answer here 并提供链接以供参考。如果链接页面发生更改,仅链接答案可能会失效。始终引用重要链接中最相关的部分,以防目标站点无法访问或永久离线。 @Makyen,我不认为这些是我五年前回答这个问题时的标准:) 我还链接到一个特定的修订版,所以它不会死。 是的,这些年来标准发生了变化。但是,当前的标准是追溯应用的,如果旧的投票答案只有链接,它们就会被删除。虽然我不同意这一点(my post on meta that highly up-voted answers with dead links should have the links changed to archives),但现实情况是,如果将这些答案标记为低质量帖子审查队列,它们就会被删除。我没有标记这个答案来给它一个更新的机会。 被删除并不需要大多数人有这种感觉。只有一个人来标记答案。然后审查队列中的人点击删除的突出选项,因为它只是链接。大多数审稿人,可能几乎所有审稿人,都会迅速将此类答案发送给删除。我认为这个具体的答案可能会因为被接受而免疫,但我不确定。

以上是关于下载窗口中的 firefox 下载文件 - Firefox 扩展!的主要内容,如果未能解决你的问题,请参考以下文章

Firefox 84.0 正在更改下载文件的自定义文件扩展名

使用 Java 中的 Selenium WebDriver 下载 zip 文件 - 下载弹出窗口总是来

如何使用 webdriver 在 Firefox 中处理下载 .xlsx 文件,其中窗口弹出默认为“打开方式”单选按钮而不是“保存文件”

Firefox Profile 无法自动下载文件

使用selenium+firefox做网站下载文件

访问 Firefox 中的文件下载对话框