XMPP URI: Дружим браузер и jabber

XMPP URI позволяет делать ссылки на JID кликабельными, аналогично как это делает mail-to для почтового адреса.
Самый простой пример использования XMPP URI:
<a href="xmpp:JID?message;subject=Test%20Message;body=Here%27s%20a%20test%20message">написать в жаббер</a>

XMPP URI позволяет не только отправить сообщение но и добавить контакт в ростер (xmpp:JID?roster;name=имя;group=группа) или удалить (xmpp:JID?remove), а так же управлять подпиской. Подробнее с XMPP URI можно ознакомиться в xep-0147

Такой метод зачастую не действует по причине отсутствия поддержки XMPP URI в браузерах. А «если гора не идет к Магомету, то Магомет идет к горе», поэтому нам всё же вручную придется помочь браузеру.

Opera
Откройте файл opera6.ini и найдите секцию "Trusted Protocols" (или добавьте её)
Дбавьте в эту секцию "xmpp=0,0,имя_программы" (в старых версиях оперы "xmpp=имя_программы"

Firefox и Epiphany
Введите адрес "about:config" и добавьте новую строку (правой кнопкой мыши New->String) с именем "network.protocol-handler.app.xmpp" и уже в ней введите имя вашего jabber-клиента
В linux можно выполнить
gconftool-2 -s /desktop/gnome/url-handlers/xmpp/command '/path/to/app %s' --type String
gconftool-2 -s /desktop/gnome/url-handlers/xmpp/enabled --type Boolean true


В Windows можно добавить xmpp общисистемным протоколом, для этого надо создать reg файл с текстом
REGEDIT4

[HKEY_CLASSES_ROOT\xmpp]
@="URL:xmpp Protocol"
"URL Protocol"=""
[HKEY_CLASSES_ROOT\xmpp\shell]
[HKEY_CLASSES_ROOT\xmpp\shell\open]
[HKEY_CLASSES_ROOT\xmpp\shell\open\command]
@="\"C:\\Program Files\\Application\\program.exe\" \"%1\""
И импортировать его в реестр.

К огромному сожалению не каждый клиент сможет понять такой адрес из-за отсутствия в нем поддержки xep-0147. Из известных мне только Pidgin, Psi, Gajim, jabber.el, Coccinella и последние версии Miranda IM (и только с плагином File Association Manager) его поддерживают
Сыр Российский 08-11-2008
Самый простой пример использования XMPP URI как-то поломано выглядит.
Сыр Российский 08-11-2008
У меня Firefox, и настраивать можно не в about:config, а в Настройки→Приложения.
Bolzamo 08-11-2008
Pidgin поддерживает точно... Ща затестю под Kopete
muhas 08-11-2008
Добавил Pidgin и Psi

Сыр Российский, подправил
Pavel Vyazovoi 08-11-2008
Для emacs-jabber (jabber.el) хандлер ссылок будет выглядеть как-то так:
emacsclient -e "(jabber-handle-uri \"$*\")"&
Только jabber-handle-uri пока не поддерживает параметр body, так что для juick оно пока бесполезно. Cейчас попробую добавить такую фичу.
kaberc 09-04-2009
В Epiphany работает как в Firefox.
muhas 09-04-2009
@kaberc, спасибо, добавил
Alex 09-05-2009
Pidgin (2.5.5) + FireFox (3.0.9). Не работает. Молча.
diamon 09-05-2009
Не работает. Arch linux + Gran Paradiso + psi. Всё текущее из оффициальных репозитариев.
QoSyS 09-07-2009
Хм, на удивление в связке Vista + psi 0.12 не работает. Вызов джаббера есть, но нового окна сообщений не появляется.
muhas 09-07-2009
В винде вообще не пробовал, в линуксе работает. хотя возможно надо что-то намутить в настройках psi
evgen 09-08-2009
проблема только в том что опера почему то отдает uri до знака #, а фокс отдает то что видит, в случае с жуйкой он вместо # отдает %23 :(
step0 09-10-2009
даже просто если ввести в командной строке
"C:\Program Files\Psi\psi.exe" xmpp://ubuntu@conference.jabber.ru
оный jabber-клиент НИКАК не реагирует... что не так?
http://psi-im.org/wiki/Command_Line_Options здесь описаны опции командной строки...
MarSoft 09-11-2009
Вывод:
Psi не поддерживает адреса из командной строки.

step0, надо не xmpp://ubuntu@..., а xmpp:ubuntu@...
хотя всё равно не работает.
step0 09-11-2009
Я так и понял....забил. делать нечего. а жаль :)
Comrade DOS 10-09-2010
В Firefox 3.5 и выше регим протокол согласно ссылки http://kb.mozillazine.org/Register_protocol
Deniz 10-09-2010
vacuum тоже не понимает xep-0147