1 (изменено: Rumata, 2011-11-10 01:38:24)

Тема: Greasemonkey/Scriptish+Javascript: user script для script-coding.com

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

script-coding Enhanced

Требования:
браузер Firefox,
плагин Greasemonkey или Scriptish (рекомендуется)

Среда
Скрипт работает только на следующих страницах форума (звездочка означает любое количество любых символов):

http://forum.script-coding.com/post.php*
http://forum.script-coding.com/edit.php*
http://forum.script-coding.com/viewtopic.php*

Назначение:
Скрипт предназначен для улучшения и упрощения ввода и оправки информации за счет обработки нажатий горячих клавиш на страницах редактирования сообщений и возможности цитирования сообщений.

Стандартные горячие клавиши
Для всех полей ввода редактирования (post.php, viewtopic.php) добавлены следующие горячие клавиши:
ALT-B - полужирный текст
ALT-I - курсивный текст
ALT-U - подчеркнутый текст
ALT-Q - цитирование
CTRL-Q - цитирование
ALT-K - ввод ссылки (данная комбинация появилась по аналогии старых версий WinWord, где редактирование ссылки производилось по клавишам CTRL-SHIFT-K)
ALT-C - ввод кода

Так как многие горячие клавиши уже задействованы (например, CTRL-B для открытия боковой панели, то я решил использовать только комбинацию с ALT, но оставил CTRL-Q, так как она часто используется во многих мессенджерах и она свободна).

Отправка сообщений
Следующие клавиши для ускорения отправки сообщений
CTRL-ENTER - отправка сообщения (кнопка Отправить)
ALT-ENTER - просмотр сообщения (кнопка Посмотреть)

Табуляция
Ввод символа табуляции стандартными средствами не возможен. Поэтому были введены эти горячие клавиши.
TAB - ввод символа табуляции (символ TAB)
CTRL-TAB - эмуляция стандартной обработки браузером

Цитирование
На страницах редактирования сообщения (post.php) и просмотра темы (viewtopic.php) есть возможность быстрого цитирования сообщений других участников. Для этого необходимо выделить цитируемый фрагмент сообщения и щелкнуть мышкой по нику пользователя. Цитируемый фрагмент будет добавлен в поле редактирования, обрамленный bb-тегом цитирования с указанием ника.
Щелчок мышкой по нику пользователя (без выделения фрагмента текста) добавит только ник в поле редактирования, обрамленный bb-тегом полужирного текста.
Так как на странице просмотра темы (viewtopic.php) ник пользователя является ссылкой, ведущей на страницу профиля, то для предотвращения перехода по ссылке изменена стандартная обработка клика по ссылке. При этом клики с зажатой клавишей (SHIFT, CTRL, или ALT) сохранены.

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

Домашняя страница скрипта

( 2 * b ) || ! ( 2 * b )

2 (изменено: DnsIs, 2011-11-08 13:24:09)

Re: Greasemonkey/Scriptish+Javascript: user script для script-coding.com

Rumata пишет:

......
браузер Firefox,
плагин Greasemonkey,
библиотека jQuery.....

.replace('плагин Greasemonkey', 'плагины Greasemonkey, или Scriptish')

ибо Scriptish лучше.

"Теперь скрипты выпускают с пометкой «не требуется JQ». Беда-печаль." (с) Хабрахабр

Это я к тому что, жаль что с Jquery.

Спс Rumata.

Нас невозможно сбить с пути, нам пофигу куда идти.

3

Re: Greasemonkey/Scriptish+Javascript: user script для script-coding.com

Greasemonkey я взял, потому что он на слуху (то есть популярен). Если бы я знал о существовании Scriptish, то установил бы его. Вопрос в другом - насколько совместимы скрипты, написанные под GM и S? Я понимаю, что второй - это форк от первого, но нововведения могут сильно изменить программные интерфейсы.

Кстати. Я сам не люблю JQ из-за его монструозноти. Я использовал его за его гибкие селекторы, которые можно почти всегда заменить обычными .querySelector/querySelectorAll.

Я хотел бы видеть возможности скрипта встроенными в форум. Но не уверен, что они будут внесены хотя правки форума минимальны. В ближайшее время я изменю скрипт, чтобы исключить JQ из работы.

( 2 * b ) || ! ( 2 * b )

4

Re: Greasemonkey/Scriptish+Javascript: user script для script-coding.com

DnsIs пишет:

.replace('плагин Greasemonkey', 'плагины Greasemonkey, или Scriptish')

Сделал. Теперь работает в любом окружении (Greasemonkey, Scriptish). Спасибо за наводку. Поправил первое сообщение чтобы соответствовало действительности.

( 2 * b ) || ! ( 2 * b )

5

Re: Greasemonkey/Scriptish+Javascript: user script для script-coding.com

В интернетах про Scriptish, хорошо отзываются. Цитаты:

...Greasemonkey давно поддерживает Firefox 1.5, и только недавно было принято решение повысить минимальную версию Firefox поддерживает ...до 3,0, но много старого кода все еще существует, и это дошло до точки, где Greasemonkey необходимости полной реорганизации.
... В Scriptish есть все что имеет Greasemonkey ,  также оно поддерживает   сценарии Google Chrome ,
... код является гораздо более организованым,  существенно меньше загрузка,  что непосредственно влияет на быстродействие!

Я сам года 3 сидел на обезьяне, но тут решит проагрейдится.

Ну я не призываю пользовать именно Scriptish, просто говорю, что есть альтернатива.

Хороший скрипт. Поклон вам.

Нас невозможно сбить с пути, нам пофигу куда идти.

6

Re: Greasemonkey/Scriptish+Javascript: user script для script-coding.com

DnsIs пишет:

не призываю пользовать именно Scriptish

Я долго сопротивлялся от установки GM (даже чтобы на досуге попробовать), но с какого-то момента, когда я поставил и сам начал писать по плагин,  я почувствовал неудобство именно как разработчик. Scriptish в этом смысле лишен недостатков.

( 2 * b ) || ! ( 2 * b )

7 (изменено: Rumata, 2011-11-09 16:42:21)

Re: Greasemonkey/Scriptish+Javascript: user script для script-coding.com

Скрипт изначально работает на страницах
-- просмотр темы
-- Ответить

Кроме этого он работает и на странице
-- Редактирование сообщения

Могут быть и другие страницы, но они мне не доступны.

Возможно (я еще не о конца выяснил) скрипт можно обновлять автоматически.

Вот теперь внедрить бы это все в тело форума, чтобы и работало не только в моей файрфоксе, но и, по крайней мере, в МСИЕ, Опере.

( 2 * b ) || ! ( 2 * b )

8

Re: Greasemonkey/Scriptish+Javascript: user script для script-coding.com

Если кто-то пользуется этим скриптом, то небольшое косметическое обновление. Теперь скрипту доступны страницы вида
http://forum.script-coding.com/ - доменный адрес
http://script-coding.com/forum/ - адрес URL

http://forum.script-coding.com/post.php*
http://forum.script-coding.com/edit.php*
http://forum.script-coding.com/viewtopic.php*

http://script-coding.com/forum/post.php*
http://script-coding.com/forum/edit.php*
http://script-coding.com/forum/viewtopic.php*
( 2 * b ) || ! ( 2 * b )