簡體   English   中英

chrome.downloads.download會忽略saveAs選項並打開對話框,無論

[英]chrome.downloads.download ignores saveAs option and opens the dialog regardless

我正在嘗試創建一個擴展程序,一次可以下載多個文件。

為了實現這一點,我使用了chrome downloads api,下面是代碼(使用AngularJS):

var fileDownloadProperties = function(raw) {
    return {
      url: "https:" + raw.url,
      filename: sharedDir + "/" + raw.name + "pdf",
      saveAs: false
    }
};
$scope.status = "";
filesToDownload.forEach(function (raw) {
  chrome.downloads.download(fileDownloadProperties(raw));
});

問題在於,腳本運行時會忽略saveAs選項,並繼續打開“另存為”對話框(名稱和位置正確傳遞,因為它們是對話框中的默認值,但可能會被覆蓋)。

盡管它確實允許我下載,但是它並沒有太大用,因為我可以擁有數十個文件(並且只有當前一個文件下載完成后,下一個保存對話框才會打開!)。

有沒有一種方法可以強制Chrome靜默同時下載文件? 我嘗試了其他解決方案(例如下面的代碼),但似乎沒有一個可以避免打開對話框。

var a = document.createElement("a");
a.href = files[0];
a.download = files[0];
a.click();  

任何幫助將不勝感激,謝謝。

您可以指示用戶將Chrome設置設置為

Ask where to save each file before downloading

打開/關閉“另存為”。

https://lifehacker.com/make-chrome-ask-where-to-save-downloaded-files-by-chang-1790840372

Jenna提供的答案是可以接受的解決方法,但是,強迫用戶更改其首選項並不是我接受的“可接受的解決方案”。 此線程存在此bug的問題。

我猜想正確修復的唯一可能方法是讓chrome小組站起來為我們的開發人員修復此問題。 我建議通過添加注釋來指示對線程施加更大的壓力,該注釋指示為什么需要修復此問題以及其緊急程度。 同樣也是最重要的一點,請確保單擊星號以使問題已加星標,因為他們會對此予以更多關注。

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM