Всё про браузер Opera
.: Форум сайта - operaman.ru :.

Opera браузер >> Opera for Windows

Страниц в этой теме: 1 | 2 | 3 | (показать все)
profiT
User
****

Зарегистр: 13/11/2004
Сообщений: 224
Из: Караганда
Предлагаю жесты для изменения размеров TEXTAREA new 
07/05/2005 10:01     [post link]   Прикреплённые файлы (990 downloads)

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

Есть букмарклет на ОпераВики, но посмотрев его самого и его код, обнаружил, что он увеличивает размер у всех TEXTAREA, что при нескольких полях приведёт к прыганью макета, чего хотелось бы избежать.

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

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

Жест "протянуть направо" на многострочном поле (TEXTAREA), увеличивает ширину поля. "Протянуть налево" -- уменьшает ширину.

Аналогично для жестов "протянуть вверх" и "протянуть вниз", они увеличивают/уменьшают высоту поля.

Вот что надо для этого сделать:

1. Скопировать два файла: пользовательский скрипт "lastHovered.js" и файл настройки мышиных жестов "resize and hide textareas.ini".

2. Пользовательский скрипт с путём, куда вы его положили, внести в ваш список скриптов в настройках.

3. Настройку мышиных жестов положить в папку "profile\mouse\". Если у вас уже есть своя настройка, объедините её текстовым редактором, там добавляются всего пять новых жестов: в разделе "Advanced"--"Edit widget" -- четыре, и в "Application" -- один сразу после заголовка.

Вот этот последний жест -- полный оборот по часовой стрелке, начиная с протяжки вверх (вверх-направо-вниз-влево) уничтожает элемент со страницы. В принципе, если этот жест выкинуть, то можно предполагать что побочные эффекты пользовательского скрипта сведуться на нет.

Есть мнение, что функционал можно расширить. Рацухи?

Stinger
Operaman
****

Зарегистр: 26/03/2004
Сообщений: 550
Re: Предлагаю жесты для изменения размеров TEXTAREA new 
07/05/2005 12:17   [Re: profiT]   [post link]  

Отличная идея. А почему в раздел "Флейм" запостил? Это же новая фича Оперы . Этот солюшн достоин занять свое место в основном разделе форума, в FAQ и в Мастерской.

Проверил на работоспособность. По первым впечатлениями все работает с точностью отлаженного механизма. Resize текущего текстового поля можно делать по все четырем направлениям, уничтожение элемента также функционирует без особых проблем. О каких именно "побочных эффектах" ты говоришь?

В ответ на:
2. Пользовательский скрипт с путём, куда вы его положили, внести в ваш список скриптов в настройках.


Насколько я понимаю, подключить пользовательский JS-файл можно только один. У меня же несколько разных по назначению скриптов находятся в одном JS-файле:
1. Flash панель от VVSite
2. Скрипт для перевода "нестандартного" тэга ALT для картинок в тэг TITLE
3. Теперь добавил твой lastHovered.js

Все три скрипта прекрасно работают из одного файла.

В ответ на:
Application" -- один сразу после заголовка.


Жест уничтожения элементов разумнее добавить в раздел жестов "Document Window". Мы же только на страницах убираем лишнее, поэтому трогать все приложение(Application) нет никакого смысла.

В ответ на:
Есть мнение, что функционал можно расширить. Рацухи?


1. Возможно ли сделать управление resize'ом при помощи клавиатурных шорткатов? Как заставить JS-файл обрабатывать тот textarea, в котором находится клавиатурный курсор?

2. Жаль что в Опере нет мышиных жестов жестов по диагонали . Есть идеи с ними связанные, но в данный момент никак не реализуемые.

P.S: Спасибо за реализацию отличной идеи.

Kildor
Operaman
***

Зарегистр: 10/03/2004
Сообщений: 557
Из: Россия, Новосибирск
Re: Предлагаю жесты для изменения размеров TEXTAREA new 
07/05/2005 15:43   [Re: Stinger]   [post link]  

В ответ на:
Насколько я понимаю, подключить пользовательский JS-файл можно только один. У меня же несколько разных по назначению скриптов находятся в одном JS-файле:

неверно
User JavaScript File=D:\Opera75\js\user.js,D:\Opera75\js\opera;opera,D:\Opera75\js\greasemonkey;greasemonkey

Суть понятна?

user.js — главный скрипт
js\opera\ — папка, скрипты из которой имеют доступ к window.opera.addEventListener(string: type,function: handler,bool: phase), opera.defineMagicFunction(string: functionName,function: replacementFunction) и opera.defineMagicVariable(string: variableName,function: getter,function: setter)

js\greasemonkey\ — папка со скриптами из файрфоксового гризимонкей плагина.
Не имеют доступа к opera.*, и кое какие отличия есть ещё

PS:
У меня крутятся следующие скрипты:
Flash панель,
Alt » Title (тот же что и у тебя)
SafeAlert — каждые 5 алертов на странице вылазит вопрос о том, что „не пора ли прекратить это безарбузие“…
textfix.js — „ * This script makes URLs in text/plain documents clickable“ — надеюсь понятно… ;-)
bodyIDforAll — прописывает id для тега body, чтоб удобнее было бы применять user css
addCitationLinks — добавляет ссылку на атрибут cite в <blockquote>
FULL cloacking — полностью сменяет идентификацию браузера (в том числе и window.opera, и так далее.)
lj_tags — добавляет панель с тегами для текстарий в ЖЖ.

Сейчас ещё и этот добавлю…

Есть ещё несколько скриптов, которые хочу подключить, но они пока в нерабочем состоянии…

Kildor
Operaman
***

Зарегистр: 10/03/2004
Сообщений: 557
Из: Россия, Новосибирск
PS: new 
07/05/2005 15:44   [Re: Stinger]   [post link]  

http://www.opera.com...ls/userjs/ — официальный туториал по ujs

Kildor
Operaman
***

Зарегистр: 10/03/2004
Сообщений: 557
Из: Россия, Новосибирск
PPS: new 
07/05/2005 16:15   [Re: Kildor]   [post link]  

не всегда он работает нормально
Попробуй поизменять размеры арий с прописанными в стилях width и height, у меня Опера благополучно забивает на твои row+=5 и cols+=5 в этих случаях.

Stinger
Operaman
****

Зарегистр: 26/03/2004
Сообщений: 550
Re: PPS: new 
07/05/2005 17:00   [Re: Kildor]   [post link]  

В ответ на:
SafeAlert — каждые 5 алертов на странице вылазит вопрос о том, что „не пора ли прекратить это безарбузие“…
textfix.js — „ * This script makes URLs in text/plain documents clickable“ — надеюсь понятно… ;-)
bodyIDforAll — прописывает id для тега body, чтоб удобнее было бы применять user css
addCitationLinks — добавляет ссылку на атрибут cite в <blockquote>
FULL cloacking — полностью сменяет идентификацию браузера (в том числе и window.opera, и так далее.)
lj_tags — добавляет панель с тегами для текстарий в ЖЖ.

Где взять это добро? В особенности интересует textfix.js. Через google ничего не ищется.

Kildor
Operaman
***

Зарегистр: 10/03/2004
Сообщений: 557
Из: Россия, Новосибирск
Re: PPS:  
07/05/2005 17:53   [Re: Stinger]   [post link]  

конкретно текстфикс — http://virtuelvis.co.../textlinks
вообще, погляди на этот сайт — неплохая подборка инфы по опере.
http://www.howtocrea...cript.html — тут вроде бы что-то есть
http://nontroppo.org...iki/UserJS — тут тоже что-то есть.

profiT
User
****

Зарегистр: 13/11/2004
Сообщений: 224
Из: Караганда
Re: PPS: new 
09/05/2005 08:08   [Re: Kildor]   [post link]   Прикреплённые файлы (747 downloads)

В ответ на:
А почему в раздел "Флейм" запостил?


А куда вообще такие идеи складывать? В "Опера для Виндоус"? Или в "Опера для Линукс"? Работать-то эти скрипты будут везде. И уж всяко не в ветку про почту. Не сообразил куда, вот и написал откуда точно не прогонят.

В ответ на:
Насколько я понимаю, подключить пользовательский JS-файл можно только один.


Согласно ОпереВике и Haavard'у можно и несколько. На себе опробовал -- работает. Странный синтаксис, но работает.

Несколько файлов:

Code:

c:\userJS\1.js,c:\userJS\2.js,c:\userJS\3.js



Все файлы с типом js из папки "c:\userJS\":

Code:

c:\userJS;userJS



Обратите внимание. Название последней папки без бэкслэша, и с повтором её имени через точку с запятой.

Можно комбинировать:

Code:

c:\temp\main.js,c:\userJS;userJS,c:\program files\mozilla firefox\greasemonkey\scripts;scripts



Перезагружать Оперу после изменения списка ползовательских скриптов или изменении какого-то из скриптов не надо.

В ответ на:
О каких именно "побочных эффектах" ты говоришь?


Да это я сглупил. Отменяются "побочные эффекты". Мне показалось, что мой обработчик будет перекрывать уже существующие, но потом понял что ошибался -- на самом деле метод "attachEvent" ставит один обработчик за другим в очередь.

В ответ на:
Жест уничтожения элементов разумнее добавить в раздел жестов "Document Window".


А и точно. Исправил-с. Берите обновлённую версию экстеншена к Опере "Resize TextArea 0.03" (хе-хе) в прикреплённом файле.

Заодно добавил восстановление всех уничтоженных элементов противоположным жестом: полный оборот против часовой стрелки, начиная с протяжки вниз (вниз--вправо--вверх--влево).

Заметьте, что, пусть для выполнения полных оборотов и нужен простор, но удалять можно и мелкие элементы: удаляемый элемент определяется по начальной точке жеста.

В ответ на:
Возможно ли сделать управление resize'ом при помощи клавиатурных шорткатов? Как заставить JS-файл обрабатывать тот textarea, в котором находится клавиатурный курсор?


Надо добавить эту строчку:

Code:

obj.attachEvent('onFocus',doOnLastHoveredElement);



после строчки с 'onMouseOver'. Сделать это -- но проблемо. Проблемо состоитто в томо, чтобы найти незанятую и простую комбинацию для ресайза поля клавишами. Ctrl+Right -- занято, Shift+Right -- занято, может быть Ctrl+Alt+Right?

В ответ на:
Жаль что в Опере нет мышиных жестов жестов по диагонали.


Да я и с четырьмя направлениями едва их запоминаю. Жать на кнопки в панелях мне как-то проще и нагляднее.

В ответ на:
не всегда он работает нормально


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

В ответ на:
Попробуй поизменять размеры арий с прописанными в стилях width и height, у меня Опера благополучно забивает на твои row+=5 и cols+=5 в этих случаях.


Будем пробовать. Ждите следующей версии, у меня есть идеи на реализацию. Вот вспомню DOM до конца и будет.

Исправлено profiT (09/05/2005 09:11)

Dennis_HAWKS
User
****

Зарегистр: 11/09/2003
Сообщений: 238
Из: Молдова, Тирасполь
Re: Предлагаю жесты для изменения размеров TEXTAREA new 
11/05/2005 09:25   [Re: Kildor]   [post link]  

Есть скрипт на greasemonkey - называется Expand TextArea - позволяет увеличивать textarea - в опере почему-то не работает. Может кто-то из JS гуру глянет его?
http://www.stilleye....ea.user.js

у меня у самого стоят:
alt2title.js - для исправления ошибок долбанутых веб-дезигнеров, которые не соблюдают стандарты и ставят атрибут alt вместо title для изображений.
dingbats.js - конвертирует декоративные (dingbat) символы в соответствующие Юникодовые.
fixbgb.js - ради ответного прикола создает надпись на сайте www.bengoodger.com/weblog/ такого содержания: Code:
The page you are reading is written by a narrow minded Firefox fanboy who does not like the fact that the browser you are using supports more CSS than Firefox. As a result, this page would normally contain a lie about Opera, but this has been removed by Opera's User JavaScript. Enjoy :)


fixtextplain.js - фиксит те сайты, страницы которых открываются в виде текстового кода из-за ошибочной настройки MIME-типов сервера.
hide_google_adsense.user.js - прячет Google Adsense
hide-adsense.js - тоже самое. удалить что ли один?
menufix.js - фиксит некоторые неработающие менюшки на сайтах. Штука суперская.
nofollow.js - добавляет декорацию nofollow линков перечеркиванием
propagate_titles.js - улучшает подсказки на некоторых сайтах, особенно на форумах.
safealert.js - описание уже было.
sighider.user.js - прячет подпись юзеров на phpBB-форумах (а именно кучу изображений в подписи со всей подписью)
sitesig.js - добавляет подпись для каждого сайта для управления ксс применительно для данного сайта.
textfix.js - описание уже было.
uhb.js + кнопка - делает выделение в результах поиска


Stinger
Operaman
****

Зарегистр: 26/03/2004
Сообщений: 550
Re: Предлагаю жесты для изменения размеров TEXTAREA new 
11/05/2005 20:53   [Re: Dennis_HAWKS]   [post link]  

profiT
В ответ на:
Надо добавить эту строчку:
Code:
obj.attachEvent('onFocus',doOnLastHoveredElement);

К сожалению не работает. У тебя есть еще идеи насчет того, как можно управлять ресайзом при помощи клавиатуры?

Dennis_HAWKS
В ответ на:
у меня у самого стоят:

Брось пожалуйста эти JS-скрипты в аттаче одним архивом на форум. Многим пригодится.


Kildor
Operaman
***

Зарегистр: 10/03/2004
Сообщений: 557
Из: Россия, Новосибирск
Re: Предлагаю жесты для изменения размеров TEXTAREA new 
12/05/2005 02:12   [Re: Stinger]   [post link]   Прикреплённые файлы (630 downloads)

кто знает английский, вот вот заработает http://userJS.org
http://virtuelvis.co...userjs-org


Dennis_HAWKS
User
****

Зарегистр: 11/09/2003
Сообщений: 238
Из: Молдова, Тирасполь
Re: Предлагаю жесты для изменения размеров TEXTAREA new 
12/05/2005 06:07   [Re: Kildor]   [post link]   Прикреплённые файлы (801 downloads)

Kildor
Угу, эта надпись уже как минимум две недели там висит.

Скрипты в приаттаченном архиве.

Исправлено Dennis_HAWKS (12/05/2005 06:14)

profiT
User
****

Зарегистр: 13/11/2004
Сообщений: 224
Из: Караганда
Re: Предлагаю жесты для изменения размеров TEXTAREA new 
14/05/2005 08:31   [Re: Dennis_HAWKS]   [post link]  

Вчера ночью сидел, парился.

В ответ на:
obj.attachEvent('onFocus',doOnLastHoveredElement);

К сожалению, не работает. У тебя есть еще идеи насчет того, как можно управлять ресайзом при помощи клавиатуры?


То ли с onFocus'ом, то ли с присвоением сразу двух обработчиков событий на один объект в одно время непонятные проблемы. Но!

Можно сделать так: "Right ctrl alt" вписать в раздел "Application" (иначе работать не будет, всё равно это сокращение в Опере не занято), на него посадить действие расширения поля (скопируйте из GestureRight). Тогда это сокращение будет работать когда курсор нависает над полем. Нормально?

В ответ на:
Попробуй поизменять размеры арий с прописанными в стилях width и height, у меня Опера благополучно забивает на твои row+=5 и cols+=5 в этих случаях.


Теперь скрипт размеры в стилях перебивает.

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

Karfax
User

Зарегистр: 12/04/2005
Сообщений: 124
Re: Предлагаю жесты для изменения размеров TEXTAREA new 
14/05/2005 23:05   [Re: Stinger]   [post link]  

В ответ на:
Насколько я понимаю, подключить пользовательский JS-файл можно только один.

Сколько угодно (во всяком случае в 8-й версии, в других не смотрел).
Заходишь в Настройки\Дополнительные\Содержание\Кнопка "Настройки JavaScript" и в поле "Мои JavaScrip файлы" выставляешь ПУТЬ К ПАПКЕ со скриптами. Потом кидай в эту папку сколь угодно скриптов.

Stinger
Operaman
****

Зарегистр: 26/03/2004
Сообщений: 550
Re: Предлагаю жесты для изменения размеров TEXTAREA new 
16/05/2005 23:21   [Re: Karfax]   [post link]  

profiT

В ответ на:
То ли с onFocus'ом, то ли с присвоением сразу двух обработчиков событий на один объект в одно время непонятные проблемы. Но!

Можно сделать так: "Right ctrl alt" вписать в раздел "Application" (иначе работать не будет, всё равно это сокращение в Опере не занято), на него посадить действие расширения поля (скопируйте из GestureRight). Тогда это сокращение будет работать когда курсор нависает над полем. Нормально?


Ресайз с клавиатуры все-равно не работает. Я пробовал закомментировать строчку с "onMouseOver" - результат тот же. Если оставить обе строки, тогда перестает работать ресайз мышинными жестами.

В ответ на:
Теперь скрипт размеры в стилях перебивает.


Закинь сюда. Когда до дома доберешься .

Страниц в этой теме: 1 | 2 | 3 | (показать все)  

Opera браузер >> Opera for Windows

Дополнительные сведения
0 зарег. и 97 анонимные пользователи просматривают этот форум.

Модератор:  netman, van_grieg, alter, Angolier, Pechkin 

Распечатать тему

Разрешения
      Вы не можете создавать новые темы
      Вы не можете отвечать в темах
      HTML запрещен
      UBBCode разрешен

Рейтинг: *****
Тема просмотрена: 55559

Оценить эту тему
Быстрый поиск
Перейти на



  
Отправить email администрации operaman.ru - Home

© 2000-2002. Николай Ковальчук - All rights reserved
Rambler's Top100