Вверх ↑
Разработчик
Ответов: 4697
Рейтинг: 426
#1: 2016-08-24 21:14:30 ЛС | профиль | цитата
Давно делал для соседнего форума на таком же движке плагины с помощью индикаторов (это настраиваемые иконки на панели справа, где еще кнопка поддержки и ленты событий). В чем преимущества: работало везде, т.к. использовало уязвимость индикатора и подставляло кастомный обработчик клика (ее долго не правили, т.к. считали некритичной, и никто мне не запретил ее публично заюзать, я спрашивал, честно ).

(далее немного копипасты из топика по ссылке выше)

Плагин создается на базе индикатора произвольной ссылкиЭто находится в профиле, на вкладке "настройки" и подвкладке "индикаторы":
, выглядит как самый обычный индикатор (на скриншоте их на самом деле два).
Однако в поле ссылки при создании индикатора вписывается не совсем обычная ссылка, а код следующего вида:
plugin: inviter.js auto remove
plugin: - идентификация нестандартного расширения
inviter.js - имя плагина с .js, подставляется к базовому url, заданному в юзерскрипте.
auto - автоматически подгружать скрипт при каждой загрузке страницы (если настроить кэширование на http-сервере, а у меня оно настроено, то скрипт не будет каждый раз тянуться с сервера).
remove - после активации (или клика по нему) плагин нельзя повторно активировать, защищает от избыточного включения.

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

Сам юзерскрипт: посмотреть.

Внешние скрипты нужно где-то хранить, для этого я использую свой сайт, однако, если вы хотите, можете скачать скрипт и залить куда-нибудь в другое место, главное условие - чтобы ссылка на него была прямая. Ну и в юзерскрипте поменяйте базовый адрес (http://sinair.ru/plug/ на что-то свое).

Итак, скрипты:
Вставка своих документов при редактировании поста

plugin: userdoc.js auto
Иконка: ( http://sinair.ru/plug/userdoc.png )

Как работает:
1. Начинаем редактировать/создавать пост
2. Активируем индикатор-плагин (щелк по иконке).
3. В панель форматирования добавляется новый значок (в конце)
4. Кликаем по добавившейся иконке.
5. Выбираем документ из списка и кликаем по нему.
6. Готово, содержимое документа вставлено в поле редактора поста.

При перезагрузке страницы или редактировании другого поста на странице требуется повторная активация плагина.
Увеличиватель очень мелкого текста

plugin: smallbig.js
Иконка: ( http://icons.hiasm.com/img/8/4568_icon144.ico )

Как работает: когда по ходу чтения встречается мелкий текст, просто активируем индикатор и текст становится читабельным.
Удобный приглашатель в сообщество в два клика

plugin: inviter.js auto remove
Иконка: ( http://icons.mcgl.ru/img/8/4505_icon81.ico )

Как работает: Активируем индикатор кликом по нему и к каждому посту на странице добавляется кнопка, которая и производит необходимое действие.
Внимание! Работает только на странице сообщества! (т.е. в теме в разделе заявок, например).



Чтобы долго не искать, дублирую ссылку в конец.
Сам юзерскрипт: посмотреть.
карма: 10
0
Редактировалось 3 раз(а), последний 2016-08-24 21:17:27