Форум «Мир фантастики» — фэнтези, фантастика, конкурсы рассказов

Форум «Мир фантастики» — фэнтези, фантастика, конкурсы рассказов (https://forum.mirf.ru/index.php)
-   Компьютеры и гаджеты (https://forum.mirf.ru/forumdisplay.php?f=35)
-   -   Скрипт-улучшатель постов на форуме (Opera) (https://forum.mirf.ru/showthread.php?t=4329)

SpellCaster 07.04.2008 12:59

Вложений: 1
Исходный текст

Цитата:

Итак, наконец-то руки дошли сделать скрипт, который давно уже хотел написать. Как вы знаете, многие граждане на форуме обожают всячески украшать свои мессаги "веселенькими" цветами, а некоторые - не будем показывать пальцем - шуруют все свои посты нестандартным шрифтом. Кому как, а мне это не нравится. Воспитывать всех, к сожалению, не в моих силах, но вот покоцать все эти ХУДОжественные изыски - вполне.
Представляю вашему вниманию чудо-скрипт Mf_Enhance. Сразу предупреждаю, что это UserJS для Оперы, так что Ословоды и Лисолюбы не при делах.
Что делает скрипт?
  • Чистка постов от цветошрифтового шлака
    1) полное очищение атрибутов шрифта, таких как гарнитура, цвет и размер.
    2) сообщение об удалённых атрибутах
    3) контроль допустимого диапазона размеров шрифта
  • Отправка сообщения по Ctrl-Enter. Работает в поле быстрого ответа, обычного ответа, ПС, ЛС. Не работает в поле быстрого редактирования, а также порой не срабатывает и при обычном расширенном редактировании.
  • Массовое открытие/скрытие спойлеров. Ctrl-клик на любой кнопке "Показать"/"Спрятать" затрагивает все спойлеры на странице, Shift-клик - только из текущего поста.
Каждую из фич можно отключить.

Инсталляция.
Сначала надо включить пользовательские скрипты - по умолчанию они выключены.
Вариант 1, через визуальные настройки. «Настройки» → «Дополнительно» → «Содержание» → «Настроить Javascript», поле «Мои файлы Javascript». Там указать директорию, куда будете складывать скрипты (конечно, ее надо сперва создать :). Удобно, если она будет внутри директории с Оперой.
Более подробно и со скринами написано здесь.
Вариант 2, через ручные настройки. В поле opera:config#UserPrefs|UserJavaScriptFile выставьте путь к директории, заодно проверьте, чтобы opera:config#UserPrefs|AlwaysLoadUserJavaScript и opera:config#UserPrefs|UserJavaScript были отмечены (ссылки кликабельны).

Затем скачайте приаттаченный скрипт mf_enhance.js, уберите расширение .txt и поместите его в указанную папку

Настройка
Настройка производится редактированием файла скрипта в любом текстовом редакторе. Внимание: на Опере 9.5+ обнаружилось, что скрипты, содержащие национальные символы, должны быть в кодировке UTF8. Учтите это при сохранении.
Настройки сосредоточены в секции
// *** Опции скрипта ***
Конкретное значение каждой из них и допустимые значения указаны в комментариях

**************
ПОЛИГОН
**************

Место для тестирования скрипта, чтобы не ходить далеко.
* Чистка постов
Скрытый текст - открой меня:

Я — текст, который писал человек с нулевым коэффициентом художественного вкуса.



* Спойлеры
Скрытый текст - открой меня:

Скрытый текст - тест:
Скрытый текст - тест1:
11


Скрытый текст - тест:
Скрытый текст - тест2:
22


Скрытый текст - тест:
Скрытый текст - тест3:
33


Скрытый текст - 1:
Скрытый текст - 2:
Скрытый текст - 3:
Скрытый текст - 4:
Скрытый текст - 5:
пыщь







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

SpellCaster 04.07.2008 16:57

Апдейт скрипта
 
Апдейт скрипта.
Добавлена возможность отправки сообщения по нажатию горячей клавиши Ctrl-Enter. Курсор должен находиться в поле редактирования поста, чтобы это сработало. Действует на ответы в темах, публичных сообщениях и ЛС, правда, поскольку с ЛС сейчас глюки, проверить точно не смог. На быстрое редактирование действовать не будет.
Плюс немного изменён код, убрал лишние методы. Скачивать - в аттаче к первому посту.

SpellCaster 18.08.2008 15:36

Апдейт скрипта
 
Апдейт скрипта. Версия 1.1

* Почти полностью переделан код
* Теги цвета вместо неинформативных числовых кодов заменяются на теги вида [ color ] исходный текст [/ color ]
* Теги размера сообщают о том, какой размер был использован, но сами его ставят только в пределах MfEnh_MinFontSize..MfEnh_MaxFontSize (чтобы исключить лошадиных и комариных размеров теги).

SpellCaster 19.11.2008 11:30

Апдейт скрипта. Версия 1.5. Теперь работает и в Опере 9.6

* Сохранён в UTF-8 вместо ANSI
* Добавлена проверка id, иначе выдавалась ошибка
* Изменен цикл по div, иначе некоторые почему-то прогонялись дважды

Файл - в аттаче к первому посту

SpellCaster 14.07.2010 17:16

Апдейт скрипта. Версия 1.7.

* Исправлено добавление отправки поста по Ctrl-Enter, теперь работает (наконец-то)
* Добавлено открытие/скрытие всех спойлеров на странице по Ctrl-клику на любой из кнопок

Файл - в аттаче к первому посту

Тестируем фичу на полигоне в первом посте

DOUBLE6IXSE7EN 14.07.2010 17:21

SpellCaster, Спелл, а к Лисе нечего такого не планируешь?

SpellCaster 14.07.2010 17:27

667, теоретически, есть плаг GreaseMonkey, который позволяет подрубать пользовательские скрипты, но влом разбираться :)

SpellCaster 14.07.2010 23:00

Гм. Наблюдаю странности в связке Ubuntu 8.04 + Opera 10.60. Скрипт не подхватывается. Причём именно на этом домене! С остальными всё ОК. Пингвиноводы, отпишитесь плиз, работает ли у кого.

Jur 15.07.2010 10:11

Suse + opera 9.64 - все работает

SpellCaster 19.07.2010 16:04

Апдейт. Работает в Опере 10.60+ (из-за глюка в Опере функция не подхватывалась).

SpellCaster 23.07.2010 23:05

Наконец-то удалось разобраться, почему скрипт не подхватывался! Всё дело было в криво прописанном адресе лого, который я поместил в заблокированные элементы. Кто бы мог подумать.

Апдейт скрипта. Версия 1.8.

* Исправлено поведение под Opera 10.60@Ubuntu - не работала отмена событий, из-за чего кнопка получала два клика вместо одного. Переделал без обнуления.
* Немного дополнил описание. Кстати, скрипт работает на всех форумах vBulletin (На маньке - точно). Чтобы добавить форум в список обрабатываемых скриптом, найдите в заголовке строчку // @include http://forum.mirf.ru/* , скопируйте и замените адрес. Получится что-то вроде
...
// @include http://forum.mirf.ru/*
// @include http://forum.igromania.ru/*
...

Файл - как всегда, в аттаче к первому посту

SpellCaster 15.10.2010 18:08

Апдейт скрипта. Версия 1.9.

* Переделана внутренняя логика касательно события от мыши
* Добавлено: Shift-Click затрагивает спойлеры только внутри текущего поста


Текущее время: 02:41. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.