1. Друзья, в это тяжёлое и непонятное для всех нас время мы просим вас воздержаться от любых упоминаний политики на форуме, - этим ситуации не поможешь, а только возникнут ненужные ссоры и обиды. Это касается также шуток и юмора на тему конфликта. Пусть войны будут только виртуальными, а политики решают разногласия дипломатическим путём. С уважением, администрация Old-Games.RU.

    Скрыть объявление
  2. Если Вы видите это сообщение, значит, вы ещё не зарегистрировались на нашем форуме.

    Зарегистрируйтесь, если вы хотите принять участие в обсуждениях. Перед регистрацией примите к сведению:
    1. Не регистрируйтесь с никами типа asdfdadhgd, 354621 и тому подобными, не несущими смысловой нагрузки (ник должен быть читаемым!): такие пользователи будут сразу заблокированы!
    2. Не регистрируйте больше одной учётной записи. Если у вас возникли проблемы при регистрации, то вы можете воспользоваться формой обратной связи внизу страницы.
    3. Регистрируйтесь с реально существующими E-mail адресами, иначе вы не сможете завершить регистрацию.
    4. Обязательно ознакомьтесь с правилами поведения на нашем форуме, чтобы избежать дальнейших конфликтов и непонимания.
    С уважением, администрация форума Old-Games.RU
    Скрыть объявление

ogruNotifier

Автор: pause_break · 24 фев 2021 · ·
  1. innokentiyt/ogruNotifier (github.com)

    Давно хотел разобраться, как создаются и работают Web Extensions. Начал читать сегодня после ужина документацию от Mozilla и смог собрать прототип дополнения для Firefox - кнопку со счетчиком оповещений для форума. При нажатии сбрасывает бейджик со счетчиком и открывает страницу последних оповещений - https://www.old-games.ru/forum/account/alerts

    Периодичность проверки - 5 минут.

    upload_2021-2-25_2-25-23.png
    Оповещений на момент скриншота не было...

    В планах улучшить парсинг счетчика оповещений (да, там тупо регексы на html-теги :rolleyes:, пока не стал разбираться, как правильно имитировать AJAX-запросы страницы на обновления счетчика) и сделать настройку периодичности проверки. Глянуть, как серьезные люди делают кроссбраузерные дополнения (ээх, там скорее всего на основе какой-либо библиотеки/sdk на node.js), чтобы сделать версии для Chrome и Opera.

    На js я почти никогда не пишу, так что если есть знатоки, буду рад замечаниям и пулл-реквестам.

    Ссылка на *.xpi-файл дополнения в релизах на странице в гитхабе. Устанавливается с about:addons.

    UPD: расширения опубликованы на площадках:
    [​IMG] [​IMG]
    6y3eJIok, Metatron, SAS и 3 другим нравится это.

Комментарии

  1. GreenEyesMan
    На самом деле какая полезная штука! Надо бы Вас обнять, дорогой мой человек. :)

    А на хромиум такую приблуду сможете сварганить?
    1. pause_break
      Сегодня вечером посмотрю. Но там надо будет разобраться сначала, какие SDK и сборщики существуют, чтобы автоматизировать этот процесс.
  2. ВелоВояджер
    Интересно. А сильно ли это нагружает оперативку?
    1. pause_break
      Вообще, довольно мало. Во время простоя между циклами проверки на наличие оповещений браузер замораживает дополнение. Вот саму проверку как раз можно сильнее оптимизировать. Сейчас там в дополнении фактически происходит загрузка главной страницы и вытаскивание оттуда числа-счетчика. Можно было для минимизации трафика, например, загружать вот эту страницу - Обратная связь | Форум Old-Games.RU. Всё о старых играх, чет совсем про это не подумал, исправлю потом.
      ВелоВояджер нравится это.
  3. pause_break
    Исправил совсем очевидную ошибку, из-за которой бейдж не сбрасывался при получении "0". Улучшил проверку, добавил поддержку Chrome и бейдж "?" при ошибке соединения, отсутствии куки логина или получении не числового значения счетчика.

    Оплатил $5 взноса, чтобы получить возможность публикации расширения на Chrome Web Store. Пока туда не отправил на проверку, требует заполнить гигантскую анкету и загрузить картинку-баннер расширения.

    На addons.mozilla.org расширение с вышеупомянутой ошибкой отправил на проверку, провисел там несколько часов на очереди, пока что отозвал с проверки. Отправлю исправленное потом.

    Нужно будет также реализовать автоматический сброс бейджа, если пользователь или открытая страница форума делает определенные запросы на форум, которые сбрасывают счетчик на стороне сервера.
      SAS нравится это.
    1. Просмотреть предыдущие ответы...
    2. pause_break
    3. pause_break
    4. pause_break
  4. pause_break
    [​IMG]

    Расширение для Firefox прошло проверку на публикацию в каталоге! Скачайте по кнопке выше. Chrome-версия все еще висит на очереди на проверку.
      GreenEyesMan и ВелоВояджер нравится это.
    1. Просмотреть предыдущие ответы...
    2. pause_break
      Нашел причину.

      1579867 - SyntaxError: invalid regular expression flag s

      Ошибку с невозможностью обработать флаг s для регулярных выражений исправили только в 78 версии... Попробую обойти это ограничение в хотфиксе.
    3. pause_break
      @ВелоВояджер обновил расширение. Можешь поставить заново или обновить его через меню расширений браузера.
      ВелоВояджер нравится это.
    4. ВелоВояджер
      Вот, теперь работает!
      pause_break нравится это.
  5. pause_break
    Выпустил на AMO (addons.mozilla.org) новую версию - теперь счетчик в бейдже также будет автоматически сбрасываться, если пользователь/браузер открывает страницу или выпадающее меню оповещений самостоятельно.
  6. pause_break
    Нужно ли отображение оповещений о личных сообщениях? Как это стоит реализовать - отдельным расширением или попытаться это запихнуть в текущее?
    1. ВелоВояджер
      Мне кажется, что если и реализовывать, то отдельным расширением.
      pause_break нравится это.
  7. ВелоВояджер
    После пары суток использования говорю результат - работает это дополнение как часы! Удобно. Спасибо за его создание.
  8. pause_break
    [​IMG]
    Наконец-то одобрили на CWS (Chrome Web Store)! Опубликована последняя версия расширения со всеми исправлениями. Установите по ссылке выше.

    Microsoft Edge поддерживает CWS нативно, у других chromuim-браузеров способы установки оттуда могут различаться.
      SAS и GreenEyesMan нравится это.
    1. SAS
      ты бы ссылочки в саму запись положил? А то тут их можно и пропустить случайно
  9. pause_break
Чтобы оставить комментарий просто зарегистрируйтесь и станьте участником!
  1. На этом сайте используются файлы cookie, чтобы персонализировать содержимое, хранить Ваши предпочтения и держать Вас авторизованным в системе, если Вы зарегистрировались.
    Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.
    Скрыть объявление