0,0
рейтинг
27 июня 2012 в 00:00

Разработка → Кто вам пишет в хабраящике. Расширение для браузера

Рад представить вашему вниманию новую версию расширения для хабры (предыдущий топик), которое научилось показывать вашу переписку с другими хабраюзерами, а также оповещать вас о новых личных сообщениях.

Также был доработан блок по приёму хабратопиков (для уменьшения трафика) и исправлено немного общих багов.


Добавлен приём и просмотр личных сообщений — вкладка «Приват». В ней приватные вкладки «Контакты», «Переписка» и приватные события.

В контактах присутствуют системные папки «Я читаю» и «Меня читают», а также «Последние контакты». В последних контактах оказываются юзеры, с которыми вы когда-либо переписывались, при этом они отсортированы по времени самого последнего сообщения.

Также можно создать свои папки или так называемые группы, в которые впоследствии можно добавить юзеров, таким образом удобно раскладывая по полочкам всех юзеров, с которыми у вас переписка.



Во вкладке «Переписка» список юзеров, с которыми вы общаетесь в данный момент. Справа видны «хабраящики», а ниже их сообщения из активного ящика.

Щелчок по аватару юзера (в любом месте расширения) открывает в новой вкладке его профиль.

Добавить пользователя в «переписку» можно простым кликом на его имя в любом месте приложения. Все папки и сообщения кешируются, а в случае необходимости обновить сообщения в папке с сервера нужно кликнуть по активной папке. Под названием папки ссылка на хабраящик на хабре, и чтобы открыть его в новой вкладке, используйте Ctrl.

Новые комментарии помечаются более жирным шрифтом и плюсиком со счётчиком количества новых сообщений.



Приватные события создаются из новых хабраящиков и новых комментариев в них. Новые приватные события помещаются во вкладку «Новые» и в переписку (юзер при этом будет мелькать, показывая этим, что от него есть новое сообщение).

Добавил показ дополнительной информации о юзере — время регистрации и когда был последний раз на сайте, а также настоящее имя.

Информация кешируется на 5 минут (и запрашивается с сервера только для активных элементов).


Добавленные настройки:
  1. Подгружать свою старую переписку. Если включено, то будет подгружаться ваша старая личная переписка (у которых время создания раньше времени установки расширения)
  2. Ограничение подгрузки и проверки переписки, страниц.
  3. Периодичность пересканирования переписки, сек. Как часто будет пересканировать весь список вашей переписки на появление в них новых сообщений. Сделано для того, чтобы всё же находить комментарии для вас, если через проверку прямого эфира они упустились — по причине закрытия браузера, отсутствия интернета и т.п.
  4. Настройка Периодичность сканирования прямого эфира расширена до Периодичность сканирования прямого эфира или привата, сек. То есть, используется и для прямого эфира и для привата. Это один и тот же адрес, поэтому настройка одна.


Пока всё. Отправление сообщений через расширение пока не реализовано из-за технических ограничений архитектуры расширений для Хрома и Оперы.
Оба браузера не позволяют выставлять заголовок Referer в ajax-запросах, хотя в настройках на этот домен выставлены права.
По сути, этот, как я считаю, баг, не позволяет создавать полноценные расширения. Будем надеяться, что этот баг исправят.

Я попробовал также применить одну хитрость в Хроме с iframe (в Опере это пока не работает), но это не сработало — то ли у хабры стоит защита на iframe, то ли это баг в Хроме. Постараюсь это получше исследовать.

Считаю, что даже без возможности отправки сообщений через расширение оно довольно удобно и повышает производительность.

В ближайшем будущем буду заниматься разделом QA, а также сделать версии для браузеров Safari и Firefox.

Евгений Иванов @Methos
карма
51,0
рейтинг 0,0
Front-end developer
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Реклама

Самое читаемое Разработка

Комментарии (4)

  • +3
    Очень приятно видеть развитие этого удобного плагина (: спасибо за труд!
  • +1
    document.write('')

    нету у хабра защиты от фреймов. покликджекать чтоли…
    • +2
      Хорошая новость — получилось через iframe в Хроме отправить и получать комментарии через ajax!

      Оказывается, в первых экспериментах был баг — не дожидался загрузки страницы и пытался отправить запрос.

      Так что на днях выложу улучшенную версию, в которой будет отправка сообщений + получение комментариев по экономному ajax-каналу =)
    • 0
      С недавних пор появилась защита

      X-Frame-Options: SAMEORIGIN

      Поэтому расширение сейчас находится в режиме Read-Only
      Планирую добавить вариант (пока не появится API), что для того, чтобы отправлять сообщения, нужно открыть хотя бы одну вкладку с хабром.

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.