Вверх ↑
Этот топик читают: Гость
Разработчик
Ответов: 3015
NeverClan
[W] Inactive
#1: 2016-01-27 02:35:48 ЛС | профиль | цитата
Внимание! На данный момент особенность исправлена, больше плагинов таким способом сделать нельзя!

Используя одну особенность задания ссылки для индикатора, удалось получить индикаторы-плагины.

Как это работает?

Создается на базе индикатора произвольной ссылкиЭто находится в профиле, на вкладке "настройки" и подвкладке "индикаторы":
, выглядит как самый обычный индикатор (на скриншоте их на самом деле два).
Однако в поле ссылки при создании индикатора вписывается не совсем обычная ссылка, а код следующего вида:
код

javascript:(function(){var s=document.createElement('script');$(s).attr('src','http://sinair.ru/plug/userdoc.js');$(document).append(s);})();
Поэтому по нажатию на этот индикатор активируется подгрузка внешнего скрипта, в котором уже можно творить что угодно. Этим и займемся.

Какие есть плагины?

Что полезного можно придумать, имея плагины? Для себя я нашел два таких, одним из которых пользуюсь не так уж и редко.
Внешние скрипты нужно где-то хранить, для этого я использую свой сайт, однако, если вы хотите, можете скачать скрипт и залить куда-нибудь в другое место, главное условие - чтобы ссылка на него была прямая.

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

код ссылки

javascript:(function(){var s=document.createElement('script');$(s).attr('src','http://sinair.ru/plug/userdoc.js');$(document).append(s);})();
Иконка: ( http://sinair.ru/plug/userdoc.png )

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

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

код ссылки

javascript:(function(){var s=document.createElement('script');$(s).attr('src','http://sinair.ru/plug/smallbig.js');$(document).append(s);})();
Иконка: ( http://icons.hiasm.com/img/8/4568_icon144.ico )

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

код ссылки

javascript:(function(){var s=document.createElement('script');$(s).attr('src','http://sinair.ru/plug/inviter.js');$(document).append(s);})();
Иконка: ( http://icons.mcgl.ru/img/8/4505_icon81.ico )

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

Преимущества и недостатки

Преимущества:

  • Не требует плагинов в браузере.
  • Новое применение индикаторам.
  • Автоматизация некоторых рутинных задач при работе с форумом.
  • Удобство использования: всегда под рукой - в правой части страницы форума.

Недостатки:

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



P.S.: да, да, можно было сделать это нормальными юзерскриптами, но кому интересно разрабатывать простое решение? Да и иногда для их поддержки требуется установка дополнительных плагинов в браузер.
P.P.S.: по идее, должно работать в любом браузере, но я тестил только в Firefox. Удачного использования!
P.P.P.S: желающие проверить, не вставил ли я каких закладок в скрипты, - пожалуйста, проверяйте, код не обфусцирован
карма: 125
9
Голосовали:Ghost, OTBETCTBEHHblN, K.R.A.K.E.N., backdafackup, Eazy_Weazy, vanyxa7, Flanagun, GeeXT, D1zg
Ответов: 1334
#2: 2016-01-27 05:11:47 ЛС | профиль | цитата
Круто, и полезно будет в оформлениях)
карма: 21
¯\_(ツ)_/¯
0
Ответов: 47
#3: 2016-01-27 05:26:30 ЛС | профиль | цитата
Возможно ли с помощью этого добавить фрэймы и прочие часто используемые элементы кода в панель форматирования?
карма: 8
0
Ответов: 815
NeverClan
Assistants
#4: 2016-01-27 07:57:27 ЛС | профиль | цитата
Действительно проще написать плагин на браузер, в том числе и добавить нужные элементы в панель форматирования.
Задача сделана чисто из интереса, как я понимаю)
карма: 44
Строил спауны еще до того как открыли Guest
0
Разработчик
Ответов: 3015
NeverClan
[W] Inactive
#5: 2016-01-27 09:53:56 ЛС | профиль | цитата
Alive писал(а):
Возможно ли с помощью этого добавить фрэймы и прочие часто используемые элементы кода в панель форматирования?

Да, возможно. Но работать будет так же: по нажатию и до перезагрузки страницы, от этого никуда не деться, к сожалению.
backdafackup писал(а):
Задача сделана чисто из интереса, как я понимаю

Угу, чтобы отдохнуть вечных лабораторных
карма: 125
0
Ответов: 1501
#6: 2016-01-27 18:43:22 ЛС | профиль | цитата
А на другой сайт можно запросы подгружать?
карма: 111
0
Разработчик
Ответов: 3015
NeverClan
[W] Inactive
#7: 2016-01-27 18:47:32 ЛС | профиль | цитата
Panya, в плане? Что именно хочется иметь?
карма: 125
0
Ответов: 4557
#8: 2016-02-04 17:53:14 ЛС | профиль | цитата
Assasin писал(а):
Иконка: нету, я использовал стандартную иконку гаечного ключа.

можно
карма: 6
0
Разработчик
Ответов: 3015
NeverClan
[W] Inactive
#9: 2016-02-04 17:56:02 ЛС | профиль | цитата
Ага, действительно, спасибо.
карма: 125
0
Ответов: 468
Eternity
Twinks
#10: 2016-02-04 18:00:19 ЛС | профиль | цитата
Flanagun писал(а):
можно

я, кстати, ее и поставил
карма: 0
мнкрфт кёк
0
Ответов: 299
TRoN
Program
#11: 2016-02-04 18:37:00 ЛС | профиль | цитата
Отличное предложение.
карма: -3
0
Разработчик
Ответов: 3015
NeverClan
[W] Inactive
#12: 2016-02-04 18:41:47 ЛС | профиль | цитата
RANDOM2403, это не предложение, это уже работает.
карма: 125
0
Ответов: 2629
Monte Carlo
Промышленники
#13: 2016-02-05 00:08:48 ЛС | профиль | цитата
Интересненько, могу поделится хранилищем под скрипты.
карма: 124
[Концепции] [Механизмы] [Графика] [3D Печать] [HiAsm]
0
Разработчик
Ответов: 3015
NeverClan
[W] Inactive
#14: 2016-02-07 14:36:23 ЛС | профиль | цитата
Добавил плагин для удобного приглашения людей в сообщество в два клика.
карма: 125
1
Голосовали:Flanagun
Ответов: 13
#15: 2016-02-08 21:34:17 ЛС | профиль | цитата
Отличная идея для проекта
карма: 0
0
Ответов: 8208
NeverClan
Assistants
#16: 2016-02-08 21:49:00 ЛС | профиль | цитата
Просто супер! Особенно за приглашения в сообщества.
карма: 139
0
Ответов: 1501
#17: 2016-02-09 02:22:10 ЛС | профиль | цитата
Если плагинов накопить штук 10, не удобно будет)
Выпадающий список, был бы кстати
карма: 111
0
Разработчик
Ответов: 3015
NeverClan
[W] Inactive
#18: 2016-02-09 02:36:23 ЛС | профиль | цитата
У выпадающего списка свой недостаток: сначала надо будет активировать плагин выпадающего списка, и только потом уже кликнуть по нужному плагину. Ну если считаете, что это будет все-равно удобнее - сделать-то можно Правда, останется один момент: список плагинов в выпадающем списке откуда-то подгружать надо. Наверное, можно юзердок для этого приделать. Спарсить его содержимое - плевое дело.
Вообще рановато о таком думать, плагинов еще нету толком
карма: 125
0
Ответов: 1501
#19: 2016-02-09 02:40:21 ЛС | профиль | цитата
Зачем так? Делаем все плагины в одном скрипте, разворачиваем при клике, при повторном активируем плагин)
JQuery никто не отменял, в данном случае можно даже не подгружать.
Можно поизвращаться с хоткеями, ну это на любителя
карма: 111
0
Разработчик
Ответов: 3015
NeverClan
[W] Inactive
#20: 2016-02-09 02:41:36 ЛС | профиль | цитата
Это если все поголовно будут пользоваться этими 10 плагинами. А если я не хочу, чтобы 6 из них мозолили мне глаза и занимали место?

--- Добавлено в 2016-02-09 02:42:25

Хоткеи работать до активации плагина не будут.
карма: 125
0
Ответов: 1501
#21: 2016-02-09 02:43:17 ЛС | профиль | цитата
Assasin, конструктор сделать или же сохранение включеных плагинов посредством AJAX

Сделать внедрение через теги нельзя? (не тестировал еще)
карма: 111
0
Разработчик
Ответов: 3015
NeverClan
[W] Inactive
#22: 2016-02-09 02:45:37 ЛС | профиль | цитата
Panya писал(а):
сохранение включеных плагинов посредством AJAX

О чем я и говорил:
Assasin писал(а):
список плагинов в выпадающем списке откуда-то подгружать надо
Перефразируя: список плагинов надо где-то хранить.

--- Добавлено в 2016-02-09 02:46:00

Panya писал(а):
Сделать внедрение через теги нельзя?

Через какие теги?
карма: 125
0
Ответов: 1501
#23: 2016-02-09 02:47:27 ЛС | профиль | цитата
Assasin, подгружаем все плагины одним скриптом, отображаем только включенные в настройках плагина(в крайнем случае на сайте, сделать миниАпи с назначением ника и булевых значений для каждого плагина, реализация через расширения была бы проще и стабильнее, сейвы хранить можно)

Я про html теги, подобие ‹img› ‹iframe› etc.
карма: 111
0
Разработчик
Ответов: 3015
NeverClan
[W] Inactive
#24: 2016-02-09 02:54:54 ЛС | профиль | цитата
Panya писал(а):
Я про html теги, подобие ‹img› ‹iframe› etc.

А что и куда ты внедрить хочешь?
Panya писал(а):
подгружаем все плагины, отображаем только включенные в настройках плагина(в крайнем случае на сайте, сделать миниАпи и т.п.)

Это круто, только чтобы кроссдоменный аякс разрешить, придется попариться. Насколько помню, хидеры ответа веб-сервера mcgl должны позволять такое. И это получается уже более жесткая внешняя зависимость: то надо было лишь просто иметь прямую ссылку на скрипт, а то теперь хранилище настроек жестко привязано к определенному сайту.
И рано пока еще такие задачи решать, пока не до конца ясно, дают ли плагины действительно больше удобства работы с форумом, или удобства почти столько же, как и без них. Придет время, и задача хранения настроек будет решена. Может, к тому моменту плагины вообще официально появятся, и ничего выдумывать не придется.
карма: 125
0
Ответов: 1501
#25: 2016-02-09 02:59:49 ЛС | профиль | цитата
Assasin писал(а):
А что и куда ты внедрить хочешь?

Assasin писал(а):
Хоткеи работать до активации плагина не будут.

Если реализовать плагин через теги, если память не изменяет можно выполнять js код
карма: 111
0
Разработчик
Ответов: 3015
NeverClan
[W] Inactive
#26: 2016-02-09 03:01:02 ЛС | профиль | цитата
Единственное, куда можно вписать хоть какой-то js-код - в обработчик клика по индикатору. Больше некуда. И то там к кавычкам весьма жесткое требование, и к длине этого кода. Поэтому я вообще и сделал хранение кода плагинов у себя на сайте: внешний скрипт может быть любой длины и любые кавычки использовать.
карма: 125
0
Ответов: 1501
#27: 2016-02-10 19:27:36 ЛС | профиль | цитата
Пофикшено
карма: 111
0
Ответов: 167
#28: 2016-04-27 15:55:41 ЛС | профиль | цитата
За. Отличная идея
карма: -6
-1
Голосовали:Assasin
Ответов: 370
TRoN
TRoN_Legend
#29: 2016-09-17 09:10:57 ЛС | профиль | цитата
Хорошечно
карма: -49
-1
Голосовали:Assasin
29
Сообщение
...