ICQ: как встроить активную статус-картинку в свой сайт или блог?

Хотите такой виджет —  icq78358709 в свой сайт или блог? Читайте развернутую инструкцию.

Очень часто на порталах техподдержки, бизнес-консультирования и прочего онлайн-саппорта, можно видеть ссылки на 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 href="skype:SkypeUser?userinfo">SkypeUser</a> 

Ну, тут, вроде бы, всё понятно.

Возможные проблемы

Стоит отметить, что все эти ссылки будут работать, если Skype уже установлен на компьютере пользователя, иначе браузер выдаст предупреждение:


Код ошибки на W3C

Чтобы избежать таких ошибок, разработчики предлагают решение в виде 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 всё не так просто, из-за того что клиентами могут быть не только ICQ, но и Qip, Miranda, Trillian и другие. Поэтому стандартная ссылка вызова ICQ может не сработать, из-за того, что невозможно заранее предугадать, какой ICQ-клиент установлен на компьютере пользователя.

<a href="http://www.icq.com/whitepages/cmd.php?uin=UserNumber&action=message">UserNumber</a>

Я пользуюсь Qip 2005 (Buid 8070), и эта ссылка вызывала закачку исполняемого php-файла с сервера, а не вызов клиента. Так что вызывать программу непосредственно с сайта не получилось :(

Из этой ситуации можно найти два выхода:

  1. Вызывать по ссылке один из веб-клиентов ICQ (например icq2go.)
  2. Вывести статус-значок ICQ на сайте и позволить пользователю скопировать номер, расположенный рядом с иконкой, в свой ICQ-клиент, установленный на компьютере.

Первый вариант показался мне некрасивым из-за дополнительной нагрузки на нервы пользователя и его принудительного редиректа на новый интерфейс, поэтому я не стал особо заострять на нём внимания. А вот для второго статус-значок ICQ можно вывести на сайте так:

<img src="http://web.icq.com/whitepages/online?icq=UserNumber&img=5" alt="Статус ICQ пользователя UserNumber" />

Где UserNumber — нужный номер, а &img=27 — вид статус-иконки. Примеры ужасных статус-иконок, предлагаемых на выбор, можно посмотреть тут. Ну и не менее «привлекательные» ещё и тут.

Полезные мелочи

Чтобы ваш статус отображался на сайте, в Qip на вкладке настройки -> общие, нужно отметить галочкой пункт «Показывать мой онлайн-статус для web и поиска»

Источник: rotorweb.ru