Сервис для
сео - оптимизаторов

Найди ошибки на сайте
Ошибки мешают продвижению сайта
Исправь ошибки на сайте
Сайт без ошибок продвигать легче
Получи новых клиентов
Новые клиенты принесут больше прибыль

Перенос чата в браузер с помощью JWChat

  1. Принимая это за спин
  2. Последние мысли

JWChat это трескотня клиент обмена мгновенными сообщениями, который написан с использованием только HTML и JavaScript. Это означает, что вам не нужно устанавливать клиент обмена мгновенными сообщениями Jabber, чтобы использовать Jabber, при условии, что у вас уже установлен веб-браузер. Клиент Jabber, который запускается в веб-браузере, может быть просто подходом для таких целей, как предоставление мгновенных сообщений посетителям вашего веб-сайта.

Если вы просто хотите использовать JWChat для подключения к Jabber без загрузки какого-либо программного обеспечения или выполнения каких-либо настроек сервера, вы можете посетить jwchat.org , Я протестировал jwchat.org с подключением к jabber.se из браузера и с помощью Pidgin для проверки связи, и он работал нормально, но подключение через этот сайт имеет свои недостатки. Установка JWChat на ваш собственный сервер позволяет вам контролировать безопасность и доступность сервера, интегрировать JWChat с вашим сайтом и устанавливать свой собственный сервер Jabber в вашей локальной сети.

При условии AJAX позволяет веб-странице выдавать запросы от
Веб-браузер в фоновом режиме, вы можете сначала подумать, что JWChat просто будет использовать AJAX для прямого подключения к вашему выбранному серверу Jabber. Но функция JavaScript XMLHttpRequest, которая формирует ядро ​​приложения AJAX, подчиняется ограничение безопасности так что он может связаться только с тем же сайтом, который обслуживал HTML-страницу, с которой он был вызван. Чтобы обойти это, на сервере, с которого вы загружаете JWChat, вы должны либо (a) использовать Apache RewriteRules (б) установить Jabber-сервер, который обрабатывает HTTP голосование или же переплет или (c) установить прокси приложения на компьютере, который обслуживает JWChat, например Пенджаб , Таким образом, в то время как сам клиент Jabber, JWChat, работает в вашем веб-браузере, вам нужно что-то на сервере, с которого вы загрузили JWChat, который является либо сервером Jabber, либо действует как посредник между JWChat и другими серверами Jabber.

Чтобы обойти это, на сервере, с которого вы загружаете JWChat, вы должны либо (a) использовать Apache   RewriteRules   (б) установить Jabber-сервер, который обрабатывает HTTP   голосование   или же   переплет   или (c) установить прокси приложения на компьютере, который обслуживает JWChat, например   Пенджаб   ,  Таким образом, в то время как сам клиент Jabber, JWChat, работает в вашем веб-браузере, вам нужно что-то на сервере, с которого вы загрузили JWChat, который является либо сервером Jabber, либо действует как посредник между JWChat и другими серверами Jabber

Я буду использовать вариант (б) и установить сервер Jabber - в частности, ejabberd 2.0.0 - обойти ограничения на XMLHttpRequest. Демон ejabberd поддерживает клиентов, использующих методы http_bind и http_poll. Есть пакеты для ejabberd для Ubuntu Gutsy а федора 8 а установка в один клик для OpenSUSE 10.3 в открытой системе сборки.

Для настройки опции (b), после того как вы установили ejabberd, вам нужно включить mod_http_fileserver, чтобы он работал с JWChat. Я получил конфигурацию, показанную здесь из документация на веб-сайте ejabberd.im. Мне не удалось подключить JWChat с помощью метода http_bind, поэтому я вернулся к использованию http_poll. Хотя оба метода допускают связь, http_bind должен быть более эффективным. Если вы загружаете JWChat на свой собственный сервер, вы можете отключить http_bind в опциях, представленных пользователю, чтобы избежать попытки использовать метод, который, как вы знаете, не работает.

Команды, показанные ниже, устанавливают ejabberd и настраивают его для обслуживания JWChat на компьютере с Fedora 8.
Финальная команда for создаст копию всех файлов с расширением .en, удалив это расширение. Это означает, что файл с именем index.html.en копируется в index.html, который может служить ejabberd, поскольку он имеет правильный тип MIME для файла HTML. Попытка доступа к index.html.en напрямую через ваш браузер не будет работать правильно, так как браузер не будет интерпретировать файл как документ HTML. Вы также должны изменить файл конфигурации ejabberd, обычно расположенный в /etc/ejabberd/ejabberd.cfg,
как показано в документация включить файловый сервер ejabberd и установить его каталог DocumentRoot. Это позволяет ejabberd обслуживать HTML и другие веб-файлы, которые составляют JWChat.

Я использовал изменения, идентичные показанным в документации, с добавлением настройки IP-адресов сервера Jabber.

# yum install ejabberd
...
# cd / var / lib / ejabberd
# mkdir www
# cd www
# tar xzvf /.../jwchat-1.0beta3.tar.gz
# ln -s jwchat-1.0beta3 jwchat
# CD ..
# chown -R ejabberd: ejabberd www
# vi /var/lib/ejabberd/www/jwchat/config.js
...
var SITENAME = "localhost";
# cd www / jwchat
# если в * .en
делать
cp -av $ if $ (базовое имя $ if .en)
сделанный

Я обнаружил, что вы должны указать IP-адрес (а) серверного компьютера в файлах конфигурации, или что-то не работает должным образом, хотя, возможно, мои настройки сети достаточно странны, чтобы обмануть вещи. Если я не указал IP-адреса в файле конфигурации ejabberd, я просто получил пустую страницу при попытке загрузить JWChat с сервера, и я понятия не имел, почему. Измените файл конфигурации JWChat, расположенный по адресу /var/lib/ejabberd/www/jwchat/config.js,
указать переменную SITENAME, как показано выше.

Принимая это за спин

JWChat поддерживает ваш список, иначе известный как ваш список друзей, между логинами. Когда вы войдете в систему, вы заметите, что JWChat хочет, чтобы в браузере был установлен плагин Flash. Я запустил второй клиент Firefox, на котором была установлена ​​Flash, чтобы понять почему, но не заметил никаких изменений в функциональности. По какой-то причине JWChat запрашивал Flash, но он все равно работал без него.

JWChat использует отдельные окна браузера для вещей, которые обычный IM-клиент рабочего стола поместил бы в отдельные окна. Одним из недостатков этого дизайна является то, что при нажатии на окно чата вы, скорее всего, попадете в окно списка разговоров, потому что это самая большая область в окне, и начало ввода в этой области не работает. Вы должны явно нажать на поле ввода текста перед вводом.

Мне не было особенно легко создать свой список с помощью JWChat. Когда вы находитесь в чате, вы не можете просто щелкнуть правой кнопкой мыши по пользователю и пригласить его в свой список. Существует пользовательское контекстное меню для пользователей, но оно включает в себя только опции, чтобы начать чат или пнуть или заблокировать пользователя. Небольшой значок плюса в левом нижнем углу окна списка был основным средством, которое я использовал для добавления в свой список с помощью JWChat. Хотя это не та задача, которую вы выполняете все время, облегчить добавление в свой список было бы большим улучшением. В контекстном меню есть запись об удалении для пользователей, которые уже включены в ваш список.

Последние мысли

Установка JWChat на сервере не так уж и сложна, когда вы обслуживаете его от демона ejabberd. Конечно, всегда легко использовать JWChat с клиентского компьютера - просто направьте любой веб-браузер на страницу сервера и все готово. Если вы можете использовать Apache RewriteRules, то настройка Apache для обслуживания JWChat похоже, уровень сложности аналогичен настройке, использованной в этой статье. Настройка сервера с JWChat с использованием RewriteRules или прокси-сервера приложения позволит вам оставаться на связи с помощью обмена мгновенными сообщениями из интернет-кафе или любого другого компьютера с подключением к Интернету и веб-браузером.