#google-chrome #google-chrome-extension
Вопрос:
Я пытаюсь создать Chrome ext, который использует chrome.downloads
API. Но, похоже, это… ничего не делает. Впервые разрабатываю Chrome, поэтому я немного незнаком с окружающей средой, но, похоже, ни у кого другого в Интернете нет этой проблемы.
В поисках проблемы я свел свой код к следующему (используя код jQuery в качестве тестовой загрузки, но перепробовал множество других).:
chrome.downloads.download({
url: "https://code.jquery.com/jquery-3.6.0.min.js",
}, (dlid) => {
chrome.downloads.search({id: dlid}, (dl) => {
console.log(dl[0]);
});
});
Это приводит к тому, что в консоли печатается следующее DownloadItem
:
byExtensionId: [redacted for privacy]
byExtensionName: [redacted for privacy]
bytesReceived: 0
canResume: false
danger: "safe"
exists: true
fileSize: 0
filename: ""
finalUrl: "https://code.jquery.com/jquery-3.6.0.min.js"
id: 2675
incognito: false
mime: "application/javascript"
paused: false
referrer: ""
startTime: "2021-09-04T09:18:02.401Z"
state: "in_progress"
totalBytes: 0
url: "https://code.jquery.com/jquery-3.6.0.min.js"
Но файл не загружается, и не происходит ничего, что указывало бы даже на попытку его загрузки. Продолжение чтения DownloadItem
всегда дает один и тот же результат: сообщение о том, что загрузка продолжается и до сих пор было загружено 0 байт. И ничто другое в моей системе не указывает на то, что файл загружается. Но это никогда не приводит к каким — либо ошибкам-вместо этого он просто сидит, казалось бы, на холостом ходу.
Вот что я до сих пор исключал как причину:
- Разрешение объявлено в
manifest.json
:"permissions": [..., "downloads", ...]
. Удаление его и запуск того же кода приводят к ошибкам. - Контекст правильный, это не выполняется в сценарии содержимого. Попытка сделать это приводит к ошибкам.
- Игра с любым из
DownloadOptions
параметров не имеет никакого эффекта вообще.DownloadOptions.saveAs
не открывает диалог иDownloadOptions.filename
не влияет наDownloadItem.filename
то, что всегда является пустой строкой. - Я перепробовал множество других целей загрузки, как для разных доменов, так и для разных типов файлов. Результирующий
mime
параметр обновляется в соответствии с расширением URL-адреса, но в остальном он создает тот же безошибочный постоянный холостой ход. - Я даже пробовал поддельные URL — адреса с тем же результатом-недопустимые синтаксисы URL-адресов приводят к ошибкам, но несуществующие URL-адреса просто дают тот же результат простоя.
- В моей системе нет явных проблем с подключением к Интернету, и я не использую прокси-сервер или VPN.
- Запустите его на другой машине, хотя и с тем же логином пользователя Chrome и тем же подключением к Интернету. Тот же результат.
Комментарии:
1. Попробуйте выполнить отладку через
chrome://net-export
. Возможно, в Chrome есть ошибка, о которой вы можете сообщить .