Из моего ограниченного опыта мастерить с Safari и Chrome расширений, я считаю, нужно слушать страницу, чтобы выстрелить либо (или оба) из этих событий: beforeLoad
и beforeNavigate
. Работа с beforeLoad
описана очень хорошо в разделе blocking content, а beforeNavigate
описано here.
С помощью любого из этих событий вам необходимо определить, является ли рассматриваемый URL-адресом загружаемым или обычным веб-файлом. Я подозреваю, что вы можете быстро проверить общие типы файлов загрузки, такие как .zip, .mp3 и другие, но единственным способом быть уверенным может быть выполнение собственного короткого HTTP-запроса и анализ ответа, как вы отметили в своем вопросе ,
Внимание! Для обнаружения загрузок нет API-интерфейсов, поскольку в любом случае расширения на файловом компьютере практически не работают. Это означает, что загрузка обычно должна выходить за рамки расширений, а вместо этого - ответственность приложений на платформе.
Является ли это расширением того, что будет работать на/любой странице? Или по конкретным? Если второй, вы можете добавить событие onclick в ссылку для загрузки. –
Он будет работать на любой странице. –