LINUX.ORG.RU

opera/chrome/konqueror/firefox: глубокая кастомизация или подмена диалога скачивания файла


0

1

юз кейс: я ткнул на ссылку скачать файл, а браузер не спрашивает, куда его скачать, и сохраняет не в общую помойку, а в правильный каталог да еще не под cryptic именем, которое отдает сайт, а под полным

естественно, логику раскидывания и вычисления полного имени пишу я

вот как примерно это может работать:

1. вместо вызова диалога скачивания файла вызывается мой ява-скрипт, который знает структуру определенных страниц (или хотя бы может сделать несколько полезных догадок о том, каково же полное название файла, прогулявшись по DOM-у)

2. далее вызывается внешняя прогамма-даунлоадер, которая

А. в случае полной уверенности в том, что классификация прошла правильно — молча сохраняет куда надо (например, если файл скачивается со страницы известного в БД сайта и структура страницы соответствует знаниям в БД о ней)

В. иначе предлагает в качестве названия варианты + классифицирует, в какой каталог файл положить (опять могут быть варианты)

3. я

А. подтверждаю ее догадку либо

В. выбираю альтернативную догадку либо

С. выбираю вообще свое

интересуют как готовые решения, так и (еще больше) способы, как прицепить такое к браузерам

_________________________________________________________________

update: может быть возможно кроссбраузерное косоватое решение: каким-нибудь переписывающим прокси-сервером вроде privoxy мы изменяем страницы известных в БД сайтов, и вместо ссылки на скачивание идет ссылка на особый урл, понимаемый (пропатченной) проксей как команда на запуск кастомного даунлоад-менеджера, но мне это не нравится

★★★★★

Последнее исправление: www_linux_org_ru (всего исправлений: 2)

Ответ на: комментарий от Chaser_Andrey

можно проще — если на странице сайта Х выбрана в качества названия текстовая строка по ДОМ-адресу u/v/w, то запомнить этот адрес и дальше использовать

www_linux_org_ru ★★★★★
() автор топика
Ответ на: комментарий от x3al

> Допили downloadhelper

а у хрома можно поковыряться в исходниках... все это понятно, но тратить время на отдельные браузеры мне не хочется — хочется кроссбраузерно

www_linux_org_ru ★★★★★
() автор топика
Ответ на: комментарий от www_linux_org_ru

Кроссбраузерно и копаться в DOM, и запускать внешнюю программу? Удачи.
Существуют какие-то костыли для кроссбраузерных аддонов, но не верю в то, что они смогут такое.

x3al ★★★★★
()
Ответ на: комментарий от x3al

копаться в ДОМ-е вполне можно кроссбраузерно с помощью ява-скрипта

и функциональность опять же можно и нужно писать кроссбраузерно на чем-то, отличном от xul

вызовы оного скрипта и внешней программы скорее всего кроссбраузерно не сделать*, но полагаю подключение внешних даунлоадеров можно сделать в настройках браузеров, а не копаясь в их коде

_____________________________________________________

* rewriting proxy может это делать кроссбраузерно

www_linux_org_ru ★★★★★
() автор топика
Ответ на: комментарий от www_linux_org_ru

Тебе нужно передать внешнему даунлоадеру, что ты решил после своего копания в DOM. Просто настройкой это делать (в теории) можно, подменяя аргументы внешней программы в настройках браузера прямо перед вызовом, но это костыльно и может вызвать проблемы.

x3al ★★★★★
()
Ответ на: комментарий от www_linux_org_ru

Если у тебя есть прокси, в котором ты можешь копаться, то проблем нет. Скрипт дёргает волшебный URL с параметрами, прокси запускает даунлоадер, браузер может отдыхать.

x3al ★★★★★
()
Ответ на: комментарий от x3al

> Существуют какие-то костыли для кроссбраузерных аддонов,

отсюда поподробнее

_____________________________________

и вполне возможно, что необходимо сделать что-то типа спецификации на внешний даунлоад менеджер, и для каждого браузера вдохновить народ (или написать самому) дополненьице, реализующее его

www_linux_org_ru ★★★★★
() автор топика
Ответ на: комментарий от x3al

> Если у тебя есть прокси, в котором ты можешь копаться, то проблем нет. Скрипт дёргает волшебный URL с параметрами, прокси запускает даунлоадер, браузер может отдыхать.

вопрос только в том, как он узнает то, что надо дернуть волшебный URL — понятно, что для особых страниц это можно запрограммировать, но хочется это делать для всех случаев, когда выскакивает окошко встроенного даунлоадера

www_linux_org_ru ★★★★★
() автор топика

ну и еще предположительно кроссбраузерная вещь — это бинарные плагины; может быть можно написать свой плагин-заглушку и назначить на него почти все mime-типы

www_linux_org_ru ★★★★★
() автор топика
Ответ на: комментарий от www_linux_org_ru

>вопрос только в том, как он узнает то, что надо дернуть волшебный URL
Твой скрипт дёрнет волшебный URL. Прокси останется его перехватить и отреагировать.

x3al ★★★★★
()
Ответ на: комментарий от www_linux_org_ru

Очевидно: если он есть в БД, то прокси переписывает ссылку и добавляет, например, лишний class.

x3al ★★★★★
()
Ответ на: комментарий от x3al

как дешевое и сердитое (но быстрое) решение это вполне пойдет; но хочется полного решения — например, «если страница в БД, то скрипт выбирает название, а если нет, то юзер обязан выделить что-то на странице, что будет названием»

______________________________________________

гугление показывает, что ФФ позволяет относительно легко подключить внешний даунлоадер через flashgot

www_linux_org_ru ★★★★★
() автор топика
Ответ на: комментарий от www_linux_org_ru

да, и конк-е имеется kget, который вроде научился в 4-х кедах че-то сортировать

осталась опера и хром

www_linux_org_ru ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.