Имеется html страница со ссылками вида:
app:open:\\example.com\fs\example.avi
app:select:\\example.com\fs\example
Надо написать код, который бы обрабатывал протокол app. Т.е. чтобы по клику по ссылке в ЛЮБОМ браузере моя запущенная программа брала параметр "select" или "open" и путь, и с помощью QDesktopServices выполняла нужное действие (open - воспроизведение файла в проигрывателе по умолчанию, select - открытие каталога в файловом менеджере по умолчанию).
Остальная программа уже написана на C++ под Qt, так что код тоже нужен Qt.
Программа преимущественно под Linux, но ее также будут использовать пользователи Mac OS X.
Главный вопрос вот в чем: как из своей программы зарегистрировать протокол app, чтобы он открывался с помощью нее?
Ах да, путь в ссылке - по протоколу smb. т.е. \\example.com\fs\example.avi - это smb://example.com/fs/example.avi
Обработка протокола браузера (Запуск своей программы для обработки протокола браузера.)
Модератор: Модераторы разделов
-
alexcrack
- Сообщения: 6
- ОС: Linux Mandriva 2010
Обработка протокола браузера
Mandrake Linux 9.2 -> Mandrake Linux 10.0 -> Mandriva Linux 2008 -> Mandriva Linux 2010 -> Kubuntu 11.04
-
NickLion
- Сообщения: 3408
- Статус: аватар-невидимка
- ОС: openSUSE Tumbleweed x86_64
Re: Обработка протокола браузера
alexcrack писал(а): ↑01.07.2010 15:04Надо написать код, который бы обрабатывал протокол app. Т.е. чтобы по клику по ссылке в ЛЮБОМ браузере моя запущенная программа брала параметр "select" или "open" и путь, и с помощью QDesktopServices выполняла нужное действие (open - воспроизведение файла в проигрывателе по умолчанию, select - открытие каталога в файловом менеджере по умолчанию).
Бою.сь, что в ЛЮБОМ браузере - это невозможно. В Opera есть возможность сопоставить с протоколом любую программу. В Firefox список такой тоже есть, но как туда добавить свой пункт неясно. Но в любом случае написать расширение можно. Для Konqueror можно KIO модуль написать для такого протокола. Но всё равно это индивидуальный подход к браузеру.
-
alexcrack
- Сообщения: 6
- ОС: Linux Mandriva 2010
Re: Обработка протокола браузера
Должна же быть возможность изменить системные настройки (протокол - приложение), которые не зависят от браузера. Просто как это сделать из моей программы...
Mandrake Linux 9.2 -> Mandrake Linux 10.0 -> Mandriva Linux 2008 -> Mandriva Linux 2010 -> Kubuntu 11.04
-
NickLion
- Сообщения: 3408
- Статус: аватар-невидимка
- ОС: openSUSE Tumbleweed x86_64
Re: Обработка протокола браузера
Не вижу логики, по которой получается, что должна быть такая возможность? Браузеры пишут совершенно разные разработчики. Единого интерфейса никогда не существовало. Откуда должна появиться глобальная возможность связать протокол с приложением? У браузеров даже настройки подключения того же прокси разнятся, хотя переменные http_proxy никто не отменял.
-
sash-kan
- Администратор
- Сообщения: 13939
- Статус: oel ngati kameie
- ОС: GNU
Re: Обработка протокола браузера
alexcrack
список воспринимаемых браузером протоколов никакого отношения к операционной системе не имеет.
то, что вы описали, является реализацией стандартного для всех браузеров протокола file:
file:///some/file
file:///some/dir
обработка его тоже строго индивидуальна для браузера и тоже не имеет к операционной системе никакого отношения.
список воспринимаемых браузером протоколов никакого отношения к операционной системе не имеет.
то, что вы описали, является реализацией стандартного для всех браузеров протокола file:
file:///some/file
file:///some/dir
обработка его тоже строго индивидуальна для браузера и тоже не имеет к операционной системе никакого отношения.
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
при сбоях форума см.блог
-
alexcrack
- Сообщения: 6
- ОС: Linux Mandriva 2010
Re: Обработка протокола браузера
Например, в винде связь протокола и приложения прописывается в реестре, после чего эта ссылка с любого браузера открывается в нужном приложении. Как осуществить это в кедах и гноме?
Mandrake Linux 9.2 -> Mandrake Linux 10.0 -> Mandriva Linux 2008 -> Mandriva Linux 2010 -> Kubuntu 11.04
-
diesel
- Бывший модератор
- Сообщения: 5989
- ОС: OS X, openSuSE, ROSA, Debian
Re: Обработка протокола браузера
http://kb.mozillazine.org/Register_protocol - например. Там есть вариант и про Gnome, правда не факт что будет работать абсолютно для всех браузеров. Скорее нужно гуглить как назначить protocol handler для каждого конкретного браузера.