Обновление плагина Social Media Popup 0.7.2

Внимание! Данная статья помечена автором как устаревшая и информация в ней может быть неактуальна на текущий день. Используйте примеры кода на свой страх и риск.

Некоторые могут спросить, почему вдруг версия 0.7.2, а не 0.7.0; ведь прошлая версия была под номером 0.6.9. Но тут всё просто — сначала я правда планировал выпустить версию 0.7.0, но потом обратил внимание, что если я именно сейчас не займусь приведением в порядок названий опций в базе данных, то потом вылезут проблемы. Поэтому я в течение двух микро-обновлений исправил текущие ошибки и теперь готов показать вам обновлённый плагин. :-)

Решил разбивать события по типам — добавлено, изменено, удалено. Так будет проще ориентироваться по нововведениям плагина. А теперь пройдёмся по основным изменениям плагина!

Добавлено

Добавлено событие «Показывать окно при попытке уйти со страницы»

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

Опция появления окна при перемещении мыши за границы окна

Добавлено событие «Показывать окно при прокрутке окна больше N процентов»

Если длина ваших постов очень большая, то, возможно, данное событие позволит вам привлечь больше заинтересованных пользователей. Окно появится только в том случае, когда пользователь прокрутит содержимое окна на указанное количество процентов и не будет докучать посетителя через 5 секунд после открытия сайта.

Событие отображения окна при прокрутке страницы

Добавлено событие «Показывать окно при клике на указанный CSS-селектор»

Экспериментальная опция, которая точно потребует доработки. Позволяет отобразить окно при клике на кнопку или вообще любому элементу с указанным CSS-селектором. CSS–селектор это ни что иное, как класс или идентификатор элемента, которые всем известны: «#id», «.class-name», например.

Опция отображения окна при клике на CSS-селектор

Что хотелось бы добавить к этому событию дополнительно:

  • Опциональное скрытие элемента с указанным CSS-селектором после клика по нему
  • Не привязываться к наличию куков, если окно было закрыто другим событием

Добавлена опция «Использовать маленький заголовок» в виджет Facebook

В новой версии API Facebook появились новые опции, одна из них — возможность уменьшить размер заголовка их виджета. В предыдущей версии виджет был очень большой по высоте, теперь это можно регулировать.

Позволяет заменить большой заголовок Facebook на маленький

Добавлена опция «Подстроить ширину виджета под ширину контейнера» в виджет Facebook

Многие испытывали неудобства из-за обновления API Facebook, т.к. ширина их виджета не подстраивалась под нужный нам размер. В итоге приходилось менять ширину самого окна, подгоняя по пикселям размеры виджетов других социальных сетей.

В этой версии они добавили возможность автоматически подстраивать размер виджета под ширину контейнера, в котором находится сам виджет Page Plugin. В моём случае виджеты стали выглядеть гораздо аккуратнее. Попробуйте и вы, а потом отпишитесь в комментариях, получилось или нет! :-)

Подгоняет ширину виджета под размер контейнера

Добавлена опция «Показывать в виджете события из следующих табов» в виджет Facebook

Ещё одна новая возможность и свежей версии API от Цукерберга. Теперь в виджете можно выбирать, содержимое каких табов показывать. Это может быть лента ваших новостей, сообщения или предстоящие события. Вообще, конечно, сюда стоило бы добавить и текстовое поле для ввода самостоятельного указания таба, т.к. у вас могут быть совсем другие значения.

Я всё-таки решил на первом этапе оставить самые часто используемые, т.к. сомневаюсь, что вы будете в своём сайте в виджете Facebook выводить последние обновления загруженных видео или же вкладки Pinterest… :-)

События можно группировать, но нельзя сортировать или менять порядок их отображения. Как мне кажется, это и не нужно особо. Если наберётся достаточное количество людей, которые попросят сделать сортировку или выбор порядка отображения — сделаю, но не в ближайшем обновлении.

Выбор табов для отображения из виджета Facebook

Добавлено экранирование всех значений выводимых на фронтенде

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

Обновления

Обновлена версия API Facebook до 2.5

Особо тут расписывать смысла нет, т.к. Facebook периодически выкатывает обновления своего публичного API для работы с виджетами и приходится регулярно проверять, не вышла ли новая версия. Если вы вдруг волею судьбы увидели, что появились новые виджеты Facebook или новые опции плагина Page Plugin, я буду рад, если вы уделите минуту и сообщите мне об этом. А я оперативно обновлю плагин для поддержки новых опций! :-)

Настройки появления виджета вынесены во вкладку «События»

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

События вынесены в отдельную вкладку

Сгруппированы поля для настройки событий по типу: когда показывать, кому показывать

События сгруппированы по типам — кому, когда

Исправления

Изменено поведение «Режима отладки»

Новое поведение "Режима отладки"

Начиная с этой версии «Режим отладки» ведёт себя именно так, как того хотели многие пользователи. А именно: виджет показывается только администратору сайта, а не всем пользователям во время тестирования.

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

Теперь механизм другой: пока включён «Режим отладки», пользователи на сайте окно не увидят. Администратор же будет проходить ровно тот путь до появления окна, который он сам задал в настройках: будет просматривать N страниц, ждать M секунд. В общем, всё то, что делает обычный пользователь, чтобы ему показался плагин.

Исправлена ошибка JS при использовании пустых значений

Исправлена проблема в случае, если пользователь не заполнил некоторые поля в настройках виджета ВКонтакте. ID группы передаётся обычным аргументом через запятую в их скриптах и наличие пустого значения вызывало ошибку JavaScript. Теперь это исправлено.

Исправлена очистка куков после закрытия окна в браузерах Opera и Mozilla Firefox

В этих двух браузерах некорректно работали куки, пришлось немного переписать код плагина.

Удаления

Удалена опция «Показывать публикации со стены страницы» виджета Facebook

Эта опция заменена на отображение таба «Лента новостей», которая рассматривается выше в этом обзорном посте. Так бывает часто — социальные сети удаляют привычные всем параметры, а потом вводят новые, группируя их по какому-либо признаку. И это хорошо, как мне кажется. :-)

Удалена функция rand() при создании уникального некеширующего параметра в scp.php

Чтобы дружить с кеширующими плагинами, решил избавиться от подстановки случайного числа в параметры подключения скриптов и CSS-стилей плагина. Заменил их на более удобный вариант: теперь добавляется номер версии в виде хеш-строки, которая успешно кешируются и будет использоваться ровно один раз в момент первой загрузки плагина.

Заключение

На этом всё, дорогие друзья! Если у кого-то есть вопросы по нововведениям или пожелания к доработке (а ещё лучше — исправления ошибок), то я как всегда готов выслушать вас и взять в работу.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Согласие на обработку персональных данных © 2024 Alexander Kadyrov
Яндекс.Метрика