Как стать автором
Обновить

Комментарии 5

Кстати, реально сделать так, чтобы закачивалось с нужным именем. Буквально вчера допилил, и тут на эту статью наткнулся)
github.com/trikadin/getvk
К сожалению, конструкция
<a href="https://psv6.vk.me/c422418/u185046062/audios/91900d6f408d.mp3" download="Artist - Title.mp3">

не работает в firefox, имя при скачивании будет 91900d6f408d.mp3.

Для greasemonkey скрипта я это обошёл так: в буфер обмена копируется название файла и в диалоге «Save As...» нужно просто нажать Ctrl+V
Есть ещё костыль для firefox: данные скачиваются в память через XMLHttpRequest, затем формируется ссылка с data-uri, в которой download работает
<a href="data:application/octet-stream;base64,aaaaaaa" download="123.mp3">

К сожалению, такой способ скачивает в обход браузерного менеджера закачек и не видно прогресса.
Вся проблема с атрибутом download в кроссдоменной политике (вот здесь в пункте 4.8.3 можно почитать подробнее, как, зачем и почему так происходит). Я это решил запуском ссылки на скачку непосредственно из расширения (a.click()) и выставление для расширения permissions'ов для всех возможных сайтов. Возможно, для firefox-овых расширений можно что-то такое же замутить.
Скорее не в «безымянную», а анонимную самовызывающуюся функцию.
Попробуй переписать с использованием паттернов для систематизации и лучшей читаемости как минимум.
У MO есть некоторые недостатки с которыми пришлось столкнуться когда я писал свое расширение еще год назад. Но плюсы оказались весомее — простой и одновременно мощный инструмент взамен прежних убогих Mutation Events.
С помощью MO запилил скробблинг, который в другом популярном расширении реализован в виде инъекции скрипта для работы с методами вконтактика (а подвязываться на них очень опасно — изменили именование и все перестало работать).
Можешь мой репозиторий посмотреть, форкнуть/ухватить что-то или скачать из Chrome store и посмотреть полную версию с манифестом и всем прочим.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации