Я студент, и лично мне, особенно в связи с дистанционным обучением, приходится скачивать довольно много документов, которые скидывают преподаватели. Преподаватели кидают их старосте, она сбрасывает в беседу группы в ВК, откуда уже качают все.
Мне надоело для скачки документа ждать, пока прогрузится страница, и появится кнопка "Скачать документ", чтобы нажать на неё. Вроде не так много действий, но когда кидают действительно много документов, очень раздражает.
Я поискал расширение для автоматической скачки, погуглил, но ничего не нашёл. Потом я просмотрел исходный код страницы ВК с документом, нашёл, что при нажатии на кнопку "Скачать документ" вызывается функция saveDoc. Решил просто вызвать эту функцию извне, минуя кнопку скачки. Немного почитал про то, как создать своё расширение и решил сделать самому, так как не увидел ничего сложного.
Итак, что я сделал, по шагам:
1. Создал файл manifest.json. Он содержит главную информацию о расширении.
2. Создал файл popup.html и popup.js. Первый показывает то, что вы видите при нажатии на расширение. (Этакое всплывающее окно). Второй - логика расширения. (Названия роли не играют, просто так назывались файлы в примере, которым я руководствовался.)
3. Нарисовал иконку расширения размером 19х19.
4. В popup.html добавил лишь параграф с названием расширения, больше для галочки, так как расширение не предполагает ничего показывать пользователю. Потом ещё добавил случайную картинку в качестве бэкграунда, тоже больше для галочки, так как белый фон не особо смотрелся (тупо, нелогично, но мне просто захотелось).
5. В файл popup.js записал лишь 1 строчку.
location.href="javascript:saveDoc(); void 0";
Это и есть вызов функции скачивания.
6. Закинул все в одну папку и добавил как расширение в браузер (Chromium).
7. Все работает.
Теперь о возможных багах / ошибках и т.п.:
В файле manifest.json прописано, что скрипт будет запускаться, если вы открыли вкладку с ВК. Если быть точнее, то прописано следующее: *://vk.com/*
Вместо звездочек может быть что угодно, что значит, если вы открыли переписку, паблик Пикабу, или решили посмотреть что-нибудь во вкладке "Видео", то скрипт все-равно ЗАПУСТИТСЯ, так как есть совпадение. Это может повлечь за собой кучу ошибок, скачать что-то непредназначенное для Вас или что-то ещё.
Меня это не волнует, так как я сижу через сторонний клиент, а при нажатии на документ у меня открывается страница в браузере с этим документом, который и скачивается.
Также, нет никакой кнопки вкл-выкл, что может стать проблемой для Вас, но не для меня, по причинам выше.
Улучшать никак не собираюсь (хотя сделать можно было бы многое), так как цель достигнута, поэтому о возможных проблемах, описанных выше, просьба не сообщать. Ставить на свой страх и риск.