Некоторые могут спросить, почему вдруг версия 0.7.2, а не 0.7.0; ведь прошлая версия была под номером 0.6.9. Но тут всё просто — сначала я правда планировал выпустить версию 0.7.0, но потом обратил внимание, что если я именно сейчас не займусь приведением в порядок названий опций в базе данных, то потом вылезут проблемы. Поэтому я в течение двух микро-обновлений исправил текущие ошибки и теперь готов показать вам обновлённый плагин. :-)
Решил разбивать события по типам — добавлено, изменено, удалено. Так будет проще ориентироваться по нововведениям плагина. А теперь пройдёмся по основным изменениям плагина!
Добавлено
Добавлено событие «Показывать окно при попытке уйти со страницы»
Включение данного события позволит вам отобразить окно плагина при уводе мыши с текущей страницы — в другое приложение, либо переход на другую вкладку. Когда пользователь вернётся на сайт, то окно будет уже отображено.
Добавлено событие «Показывать окно при прокрутке окна больше N процентов»
Если длина ваших постов очень большая, то, возможно, данное событие позволит вам привлечь больше заинтересованных пользователей. Окно появится только в том случае, когда пользователь прокрутит содержимое окна на указанное количество процентов и не будет докучать посетителя через 5 секунд после открытия сайта.
Добавлено событие «Показывать окно при клике на указанный CSS-селектор»
Экспериментальная опция, которая точно потребует доработки. Позволяет отобразить окно при клике на кнопку или вообще любому элементу с указанным CSS-селектором. CSS–селектор это ни что иное, как класс или идентификатор элемента, которые всем известны: «#id», «.class-name», например.
Что хотелось бы добавить к этому событию дополнительно:
- Опциональное скрытие элемента с указанным CSS-селектором после клика по нему
- Не привязываться к наличию куков, если окно было закрыто другим событием
Добавлена опция «Использовать маленький заголовок» в виджет Facebook
В новой версии API Facebook появились новые опции, одна из них — возможность уменьшить размер заголовка их виджета. В предыдущей версии виджет был очень большой по высоте, теперь это можно регулировать.
Добавлена опция «Подстроить ширину виджета под ширину контейнера» в виджет Facebook
Многие испытывали неудобства из-за обновления API Facebook, т.к. ширина их виджета не подстраивалась под нужный нам размер. В итоге приходилось менять ширину самого окна, подгоняя по пикселям размеры виджетов других социальных сетей.
В этой версии они добавили возможность автоматически подстраивать размер виджета под ширину контейнера, в котором находится сам виджет Page Plugin. В моём случае виджеты стали выглядеть гораздо аккуратнее. Попробуйте и вы, а потом отпишитесь в комментариях, получилось или нет! :-)
Добавлена опция «Показывать в виджете события из следующих табов» в виджет Facebook
Ещё одна новая возможность и свежей версии API от Цукерберга. Теперь в виджете можно выбирать, содержимое каких табов показывать. Это может быть лента ваших новостей, сообщения или предстоящие события. Вообще, конечно, сюда стоило бы добавить и текстовое поле для ввода самостоятельного указания таба, т.к. у вас могут быть совсем другие значения.
Я всё-таки решил на первом этапе оставить самые часто используемые, т.к. сомневаюсь, что вы будете в своём сайте в виджете Facebook выводить последние обновления загруженных видео или же вкладки Pinterest… :-)
События можно группировать, но нельзя сортировать или менять порядок их отображения. Как мне кажется, это и не нужно особо. Если наберётся достаточное количество людей, которые попросят сделать сортировку или выбор порядка отображения — сделаю, но не в ближайшем обновлении.
Добавлено экранирование всех значений выводимых на фронтенде
Это косметическое исправление, которое позволит избежать всяких неприятностей в случае внесения кривых данных.
Обновления
Обновлена версия API Facebook до 2.5
Особо тут расписывать смысла нет, т.к. Facebook периодически выкатывает обновления своего публичного API для работы с виджетами и приходится регулярно проверять, не вышла ли новая версия. Если вы вдруг волею судьбы увидели, что появились новые виджеты Facebook или новые опции плагина Page Plugin, я буду рад, если вы уделите минуту и сообщите мне об этом. А я оперативно обновлю плагин для поддержки новых опций! :-)
Настройки появления виджета вынесены во вкладку «События»
Для удобства вынес события в отдельную вкладку, т.к. их количество будет увеличиваться и растягивать основную вкладку настроек совсем не хочется. Теперь они находятся в более подходящем месте.
Сгруппированы поля для настройки событий по типу: когда показывать, кому показывать
Исправления
Изменено поведение «Режима отладки»
Начиная с этой версии «Режим отладки» ведёт себя именно так, как того хотели многие пользователи. А именно: виджет показывается только администратору сайта, а не всем пользователям во время тестирования.
В предыдущих версиях была такая логика: если пользователь является администратором, то для него все значения событий и времени отображения окна сбрасываются в нули и окно появляется сразу же. Это было не совсем логичным, т.к. протестировать разные варианты появления окна было невозможно.
Теперь механизм другой: пока включён «Режим отладки», пользователи на сайте окно не увидят. Администратор же будет проходить ровно тот путь до появления окна, который он сам задал в настройках: будет просматривать N страниц, ждать M секунд. В общем, всё то, что делает обычный пользователь, чтобы ему показался плагин.
Исправлена ошибка JS при использовании пустых значений
Исправлена проблема в случае, если пользователь не заполнил некоторые поля в настройках виджета ВКонтакте. ID группы передаётся обычным аргументом через запятую в их скриптах и наличие пустого значения вызывало ошибку JavaScript. Теперь это исправлено.
Исправлена очистка куков после закрытия окна в браузерах Opera и Mozilla Firefox
В этих двух браузерах некорректно работали куки, пришлось немного переписать код плагина.
Удаления
Удалена опция «Показывать публикации со стены страницы» виджета Facebook
Эта опция заменена на отображение таба «Лента новостей», которая рассматривается выше в этом обзорном посте. Так бывает часто — социальные сети удаляют привычные всем параметры, а потом вводят новые, группируя их по какому-либо признаку. И это хорошо, как мне кажется. :-)
Удалена функция rand() при создании уникального некеширующего параметра в scp.php
Чтобы дружить с кеширующими плагинами, решил избавиться от подстановки случайного числа в параметры подключения скриптов и CSS-стилей плагина. Заменил их на более удобный вариант: теперь добавляется номер версии в виде хеш-строки, которая успешно кешируются и будет использоваться ровно один раз в момент первой загрузки плагина.
Заключение
На этом всё, дорогие друзья! Если у кого-то есть вопросы по нововведениям или пожелания к доработке (а ещё лучше — исправления ошибок), то я как всегда готов выслушать вас и взять в работу.