ссылки на Skype и ICQ
Очень часто на порталах техподдержки, бизнес-консультирования и прочего онлайн-саппорта, можно видеть ссылки на ICQ или Skype для живого общения с консультантом.
Недавно и мне понадобилось проставить такие ссылки в одном из проектов. Чтобы решить, казалось бы, такую простую задачу, пришлось поискать ответы в
google
и отсортировать кучу ненужной информации. Найти сразу все ответы в одном месте не получилось, поэтому восполню этот информационный пробел в своём блоге.
Ссылки на Skype
Простейшая ссылка на Skype имеет вид:
<a href="skype:SkypeUser">SkypeUser</a>
Где SkypeUser — нужный ник в Skype. По умолчанию, клик на такой ссылке приведёт к звонку пользователю SkypeUser.
Но есть ещё несколько несколько режимов вызова, которые можно включать, передавая параметры в ссылке:
Звонок пользователю Skype-to-Skype или на телефон
<a href="skype:SkypeUser?call">SkypeUser</a>
<a href="skype:+12345678?call">+12345678</a>
Так же, как и в первом примере, звонок пользователю SkypeUser. Второй вариант — звонок из Skype на обычный телефон (вместо +12345678 следует поменять на нужный номер).
Звонок нескольким пользователям (конференция)
<a href="skype:SkypeUser1;SkypeUser2;SkypeUser3?call">SkypeUser</a>
По ссылке осуществится вызов сразу трёх пользователей.
Добавить пользователя или номер в список контактов
<a href="skype:SkypeUser?add">SkypeUser</a>
<a href="skype:+12345678?add">+12345678</a>
В первом случае в список контактов добавится пользователь с ником SkypeUser, во втором — номер телефона.
Текстовый чат и мультичат
<a href="skype:SkypeUser?chat">SkypeUser</a>
<a href="skype:SkypeUser1;SkypeUser2;SkypeUser3;?chat">SkypeUsers Multichat</a>
Соответственно, чат с одним и тремя пользователями одновременно.
Голосовая почта
<a href="skype:SkypeUser?voicemail">SkypeUser</a>
Можно оставить голосовое сообщение оффлайн-пользователю.
Передача файлов по Skype
<a href="skype:SkypeUser?sendfile">SkypeUser</a>
<a href="skype:SkypeUser1;SkypeUser2;SkypeUser3;?sendfile">SkypeUsers</a>
Отправить файл одному или сразу нескольким пользователям (в примере трём). По клику откроется диалоговое окно, в котором можно выбрать файл для загрузки. Отправлять файл могут только авторизованные у получателя пользователи.
Посмотреть профиль пользователя
<a href="skype:SkypeUser?userinfo">SkypeUser</a>
Ну, тут, вроде бы, всё понятно.
Возможные проблемы
Стоит отметить, что все эти ссылки будут работать, если Skype уже установлен на компьютере пользователя, иначе браузер выдаст предупреждение типа:
FireFox не может определить как открыть данный адрес, так как протокол (skype) не связан ни с одним приложением
Чтобы избежать таких ошибок, разработчики предлагают решение в виде JavaScript-сценария (3 KB ), который перехватывает ошибку и выводит на сайте всплывающее окно с предложением скачать Skype. Его нужно вставить на странице между тегами <head>…</head> .
<script type="text/javascript"
src="http://download.skype.com/share/skypebuttons/js/skypeCheck.js">
</script>
В этом случае ещё понадобится повесить на ссылку обработчик вызывающий сценарий, например:
<a href="skype:SkypeUser?call" onclick="return skypeCheck()">skypeUser</a>
Кнопочки
Найти различные варианты стандартных кнопок, с подтверждением онлайн/оффлайн статуса, или создать свой вариант, вы можете на сайте skype.com .
Разбираемся с ICQ
С ICQ всё не так просто, из-за того что клиентами могут быть не только ICQ , но и Qip, Miranda, Trillian и другие. Поэтому стандартная ссылка вызова ICQ может не сработать, из-за того, что невозможно заранее предугадать, какой ICQ -клиент установлен на компьютере пользователя.
<a href="http://www.icq.com/whitepages/cmd.php?uin=UserNumber&action=message">UserNumber</a>
Стандартный вызов ICQ с сайта. Вместо UserNumber нужно вставить нужный номер.
Я пользуюсь Qip 2005 (Buid 8070), и эта ссылка вызывала закачку исполняемого php-файла с сервера, а не вызов клиента. Так что вызывать программу непосредственно с сайта не получилось
Из этой ситуации можно найти два выхода:
- Вызывать по ссылке один из веб-клиентов ICQ (например icq2go .)
- Вывести статус-значок ICQ на сайте и позволить пользователю скопировать номер, расположенный рядом с иконкой, в свой ICQ -клиент, установленный на компьютере.
Первый вариант показался мне некрасивым из-за дополнительной нагрузки на нервы пользователя и его принудительного редиректа на новый интерфейс, поэтому я не стал особо заострять на нём внимания. А вот для второго статус-значок ICQ можно вывести на сайте так:
<img src="http://web.icq.com/whitepages/online?icq=UserNumber&img=5" alt="Статус ICQ пользователя UserNumber" />
Где UserNumber — нужный номер, а &img=27 — вид статус-иконки. Примеры ужасных статус-иконок, предлагаемых на выбор, можно посмотреть тут . Ну и не менее «привлекательные» ещё и тут .
Полезные мелочи
Чтобы ваш статус отображался на сайте, в Qip на вкладке настройки -> общие , нужно отметить галочкой пункт «Показывать мой онлайн-статус для web и поиска»