Ru-Board.club
← Вернуться в раздел «Программы»

» Opera - плагины, дополнения, панели, кнопки, утилиты

Автор: billibons
Дата сообщения: 29.09.2014 08:49
PREVED
Конечно, интересно!
Автор: Tambovskii
Дата сообщения: 29.09.2014 08:54

Цитата:
Если интересно - поделюсь.

Канешшна. Высочайше разрешаю
Автор: PREVED
Дата сообщения: 29.09.2014 11:24
Tambovskii
billibons

Это решение конечно не такое изящное как через UserJS, а также требует использования буфера обмена. Но бывает полезно.


Настройки - Расширенные - Управление - Профили мыши - Правка

В секции Document Window создаем жест Влево-Вправо ( GestureLeft, GestureRight ), присваеваем ему действие: Copy

Там же создаем жест Вправо-Влево (GestureRight, GestureLeft), присваиваем ему действие:
Find & Paste & Focus page & Go to start & Find & Cancel & Find next


Как пользоваться. Выделяем текст (например, на той же странице поисковика с результатами поиска), копируем его жестом "Влево-Вправо". Открываем результат поиска (страничку по ссылке из поисковика, на которой необходимо подсветить нужную фразу) - делаем жест Вправо-Влево. Скопированный ранее текст подсвечивается. Также замечу что курсорные клавиши и кнопки Page down/Page up разблокированы (в отличие от стандартного режима поиска в Опере) т.е. страницу можно проматывать и клавиатурой.

p.s.: Можно продублировать это и на горячие клавиши, либо на кнопки для тулбара (кому как удобнее).

p.p.s: В режиме поиска Опера затемняет страницу. Не всегда это удобно. Данное затемнение отключается в опции opera:config#UserPrefs|DimSearchOpacity (убавить значение или выставить в "0 ")
Автор: billibons
Дата сообщения: 29.09.2014 12:28
PREVED

Цитата:
страницу можно проматывать и клавиатурой

К сожалению, проматывать-то можно, но любое случайное (или намеренное) кликание мышью по странице убирает подсветку
Автор: PREVED
Дата сообщения: 29.09.2014 12:56
billibons
Да, есть такой нюанс.

Но если пользоваться средней кнопкой мыши, меню ссылки или комбинацией Shift+клик ЛКМ, то подсветка не слетает.



Добавлено:
Да, UserJS от Stoen таки не работает - пробовал в гугле, яху. Только в Bingo заработал, но что плохо - иногда пихает панель подсветки не туда куда не надо (например в каждый фрейм странциы).
Кнопки (с форума my.opera.com) подсветки у меня почему-то вообще не заработали (в 11.64). Нужны спецы по JS чтобы починить.
Автор: inile
Дата сообщения: 29.09.2014 13:59
Букмарклет. Находит и подсвечивает все слова, содержащие искомые символы, кроме случаев, когда фраза прерывается другим элементом.
Взят здесь.

Код: javascript:(function(){var count=0, text, dv;text=prompt("Search phrase:", "");if(text==null || text.length==0)return;dv=document.defaultView;function searchWithinNode(node, te, len){var pos, skip, spannode, middlebit, endbit, middleclone;skip=0;if( node.nodeType==3 ){pos=node.data.toUpperCase().indexOf(te);if(pos>=0){spannode=document.createElement("SPAN");spannode.style.backgroundColor="yellow";middlebit=node.splitText(pos);endbit=middlebit.splitText(len);middleclone=middlebit.cloneNode(true);spannode.appendChild(middleclone);middlebit.parentNode.replaceChild(spannode,middlebit);++count;skip=1;}}else if( node.nodeType==1&& node.childNodes && node.tagName.toUpperCase()!="SCRIPT" && node.tagName.toUpperCase!="STYLE"){for (var child=0; child < node.childNodes.length; ++child){child=child+searchWithinNode(node.childNodes[child], te, len);}}return skip;}window.status="Searching for '"+text+"'...";searchWithinNode(document.body, text.toUpperCase(), text.length);window.status="Found "+count+" occurrence"+(count==1?"":"s")+" of '"+text+"'.";})();
Автор: PREVED
Дата сообщения: 29.09.2014 15:10
inile
Полезная вещь.

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

Для изменения цвета, я отредактировал в коде букмарклета параметр, задав ему новое значение:
spannode.style.backgroundColor="#0066FF";

(вместо этого: spannode.style.backgroundColor="yellow"; )



1. Создаем новую закладку. В поле адреса закладки пишем код букмаклета из поста inile. При желании меняет цвет подсветки (см. выше).

2. Присваиваем для закладки короткое имя (Nickname): hl

3. Создаем / Редактируем жест мыши в разделе Document Window (напр. GestureRight,GestureLeft - вправо-влево).
Присваиваем ему действие: Go to page, "hl" & Delay,100 & Paste & Click default button


Теперь простым движением мы можем подсветить текст (искомая фраза берется из буфера обмена) на любой странице!
Аналогично, делаем горячую клавишу и/или кнопочку на тулбар (кому что удобнее).
Автор: billibons
Дата сообщения: 29.09.2014 15:17
inile
PREVED
Спасибо!
Обратил внимание на фичу (баг?): если повторно вызвать букмарклет на той же странице и задать поиск другого слова, то подсвечиваются ОБА результата (и первый, и второй). Чтобы сбросить ненужную подсветку, надо перезагрузить страницу.
Автор: PREVED
Дата сообщения: 29.09.2014 15:23
billibons
Я думаю это в принципе можно поправить. Нужно модифицировать букмарклет таким образом, чтобы при вызове он сначала очищал предыдущую подсветку,а уже потом применял новую.

Добавлено:



Написал пункт меню (для меню выделенного текста) "Подвестить фразу"


Код: Item, "Подсветить фразу"=Copy,,,,"Compose mail" & Go to page, "hl" & Delay,100 & Paste & Click default button
Автор: inile
Дата сообщения: 29.09.2014 17:44
PREVED, блестящая работа.
Я еще в [Link Selection Popup Menu] пункт добавил.

И в [Edit Go Widget Popup Menu] добавил в начале
Код: Select all &
Автор: helbvtynec
Дата сообщения: 29.09.2014 17:54
И чем вас так поиск по «/»/«Ctrl+F» не устраивает?
Ахем… Меж тем, я тут все никак не соберусь расширение поиска по всем открытым табам опубликовать, там как раз переход на любую из найденных страниц с подсветкой текста есть. Подсветка убирается так же по клику на странице, но опцию добавить не долго. Интересно, да?
Автор: Tambovskii
Дата сообщения: 29.09.2014 18:49
Попаганю тему.
Роя вчера интернет, нашел в неведомом месте и изменил Опере с Хромом:

Вот это расширение поностью копирует Оперовский highlighter, полностью автоматическое и безгеморройное
https://chrome.google.com/webstore/detail/highlight-keywords-for-go/nhahncknpppipmgjchbbhehkfglelepf

От того же неведомого автора:
"Если кто то хочет изменить цвет подсветки,
то в файле SearchHighlight в блокноте измените значение
SPAN.searchword { background-color:yellow; } ,
я поставил yellow вместо lightblue ( светлоголубой )
Можете написать любой - green , red и т.д. Сохраняем и радуемся.
На windows 7 адрес к файлу такой :
C:\Users\argonec\AppData\Local\Google\Chrome\User Data\Default\Extensions\nhahncknpppipmgjchbbhehkfglelepf\1.5_0 . Чуть не забыл , в свойствах папок через панель управления поставьте - отображать скрытые файлы и папки .
Кричите в меня спасибо !)"
Автор: billibons
Дата сообщения: 29.09.2014 20:52
Tambovskii

[more]
А не смущает, что:
Во-первых, судя по комментариям, работает только с поиском google.
Во-вторых, не обновлялось почти два года.
В третьих, сайт разработчика недоступен.
[/more]
Автор: Tambovskii
Дата сообщения: 29.09.2014 21:12
Да, работает только в гугле. Но я им, в основном, пользуюсь. На крайняк - CTRL+F никто не отменял...
А на всё остальное - оно ж работает...

А с оперой - печалька, не работает и не реальны правки...вариант с жестами мне не нравится...
Пришлось SlimJET скачать и настраивать под себя. Просто Хром мне не нравится...
Сорри не знаю как убрать из темы...
Автор: billibons
Дата сообщения: 29.09.2014 21:32
Tambovskii

Цитата:
вариант с жестами мне не нравится

Не нравятся жесты - создайте кнопку.
Не хотите кнопку - используйте меню (как советовал PREVED).
Не устраивает меню - сделайте hotkey (я, например, повесил скрипт на ctrl+h).
Это же Опера! Здесь можно настроить почти всё!
Автор: Tambovskii
Дата сообщения: 29.09.2014 22:19
Кнопку хочу, но потеряв час, плюнул...не получается кнопка...Я читатель, а не писатель...
Автор: olezi
Дата сообщения: 29.09.2014 23:43
 Поиск на странице с помощью регулярных выражений:

Код: javascript:(function(){var count=0, text, regexp;text=prompt("Search regexp:", "");if(text==null || text.length==0)return;try{regexp=new RegExp("(" + text +")", "i");}catch(er){alert("Unable to create regular expression using text '"+text+"'.\n\n"+er);return;}function searchWithinNode(node, re){var pos, skip, spannode, middlebit, endbit, middleclone;skip=0;if( node.nodeType==3 ){pos=node.data.search(re);if(pos>=0){spannode=document.createElement("SPAN");spannode.style.backgroundColor="yellow";middlebit=node.splitText(pos);endbit=middlebit.splitText(RegExp.$1.length);middleclone=middlebit.cloneNode(true);spannode.appendChild(middleclone);middlebit.parentNode.replaceChild(spannode,middlebit);++count;skip=1;}}else if( node.nodeType==1 && node.childNodes && node.tagName.toUpperCase()!="SCRIPT" && node.tagName.toUpperCase!="STYLE"){for (var child=0; child < node.childNodes.length; ++child){child=child+searchWithinNode(node.childNodes[child], re);}}return skip;}window.status="Searching for "+regexp+"...";searchWithinNode(document.body, regexp);window.status="Found "+count+" match"+(count==1?"":"es")+" for "+regexp+".";})();
Автор: inile
Дата сообщения: 30.09.2014 00:22
olezi, отлично.
Еще бы цвет подсветки генерировать рандомно (псевдорандомно) для множественного поиска.

Добавлено:
Гы, развлекуха, если вместо "yellow" задать без кавычек
Код: '#'+Math.floor(Math.random()*16777215).toString(16);
Автор: billibons
Дата сообщения: 30.09.2014 05:05
Tambovskii

Цитата:
Кнопку хочу, но потеряв час, плюнул...не получается кнопка...

Так попросите подсказать!
1. Найдите в шапке "Генераторы кнопок..."
2. Перейдите по ссылке на первый же генератор "...for Opera 12 and older"
3. В пункте "Command" выбираете первый пункт "Go to page (or Javascript)"
4. В строку "1-st parameter or Javascript" вставляете код, не забывая (согласно инструкции!) удалить "javascript:" в самом начале.
5. Даёте имя будущей кнопке, выбираете иконку по вкусу и перетаскиваете получившуюся кнопку в нужное Вам место на панели Оперы.
Автор: Tambovskii
Дата сообщения: 30.09.2014 09:41
Спасибо за помощь.
Скрипт кнопки (встроить standard_toolbar, открыв его блокнотом (типа), может такому как я пригодится):


Код: Button11, "Go to page"="Go to page, "javascriptfunction(){var count=0,text,dv;text=prompt('Search phrase:','');if(text==null||text.length==0)return;dv=document.defaultView;function searchWithinNode(node,te,len){var pos,skip,spannode,middlebit,endbit,middleclone;skip=0;if(node.nodeType==3){pos=node.data.toUpperCase().indexOf(te);if(pos>=0){spannode=document.createElement('SPAN');spannode.style.backgroundColor='yellow';middlebit=node.splitText(pos);endbit=middlebit.splitText(len);middleclone=middlebit.cloneNode(true);spannode.appendChild(middleclone);middlebit.parentNode.replaceChild(spannode,middlebit);++count;skip=1;}}else if(node.nodeType==1&&node.childNodes&&node.tagName.toUpperCase()!='SCRIPT'&&node.tagName.toUpperCase!='STYLE'){for(var child=0;child<node.childNodes.length;++child){child=child+searchWithinNode(node.childNodes[child],te,len);}}return skip;}window.status='Searching for \x27'+text+'\x27...';searchWithinNode(document.body,text.toUpperCase(),text.length);window.status='Found '+count+' occurrence'+(count==1?'':'s')+' of \x27'+text+'\x27.';})();", , "Highlighter", "Label Yellow""
Автор: oshizelly
Дата сообщения: 30.09.2014 11:58
helbvtynec 17:54 29-09-2014
Цитата:
Ахем… Меж тем, я тут все никак не соберусь расширение поиска по всем открытым табам опубликовать, там как раз переход на любую из найденных страниц с подсветкой текста есть. Подсветка убирается так же по клику на странице, но опцию добавить не долго. Интересно, да?

По-моему, очень интересно. Когда можно ждать?
Автор: billibons
Дата сообщения: 30.09.2014 14:00
Tambovskii

Цитата:
Работает, но мало чем отличается от CTRL+F, автоматом не светит.

1. Основное отличие в том, что подсветка не пропадает при клике мышкой в окне.
2. Можно подсветить не только тот текст, который первоначально искали.
3. Можно сделать разноцветную подсветку разных слов (путём добавления кнопок с разными настройками).

Но вообще, да, это не идеал. Ждём обещанное расширение от helbvtynec.
Автор: PREVED
Дата сообщения: 30.09.2014 14:51
billibons
4. Можно сохранить страницу на диск ВМЕСТЕ с подсвеченными словами с помощью вот этой кнопки:


Код:
Button0, "SaveWebGen"="Go to page, "javascript:(function(){var selWin=function(w){if(w.getSelection()!='')return w;for(var i=0,f,r;f=w.frames[i];i++){try{if(r=arguments.callee(f))return r}catch(e){}}};var ele,pEle,clone;var doctype='';var doc=window.document;var loc=window.location;var win=selWin(window);if(win){doc=win.document;loc=win.location;var s=win.getSelection();var r=s.getRangeAt(0);pEle=r.commonAncestorContainer;ele=r.cloneContents()}else{pEle=doc.documentElement;ele=doc.getElementsByTagName('body')[0].cloneNode(true)};while(pEle){if(pEle.nodeType==1){clone=pEle.cloneNode(false);clone.appendChild(ele);ele=clone};pEle=pEle.parentNode};var sel=doc.createElement('div');sel.appendChild(ele);var scripts=sel.getElementsByTagName('script');for(var i=scripts.length;i--;){scripts[i].parentNode.removeChild(scripts[i])};var h=ele.insertBefore(doc.createElement('head'),ele.firstChild);var title=doc.getElementsByTagName('title')[0];title=title?title.text:'untitled';var link=loc.href;var t=doc.createElement('title');t.text=title;h.appendChild(t);var meta=doc.createElement('meta');meta.httpEquiv='content-type';meta.content='text/html; charset=utf-8';h.appendChild(meta);var base=doc.getElementsByTagName('base')[0];var b=base?base.cloneNode(false):doc.createElement('base');if(!b.href)b.href=link;h.appendChild(b);var styles=doc.styleSheets;for(var i=0,si;si=styles[i];i++){var style=doc.createElement('style');style.type='text/css';if(si.media.mediaText)style.media=si.media.mediaText;try{for(var j=0,rule;rule=si.cssRules[j];j++){style.appendChild(doc.createTextNode(rule.cssText+'\n'))}}catch(e){if(si.ownerNode)style=si.ownerNode.cloneNode(false)};h.appendChild(style)};var dt=doc.doctype;if(dt&&dt.name){doctype+='<!DOCTYPE '+dt.name;if(dt.publicId)doctype+=' PUBLIC \x22'+dt.publicId+'\x22';if(dt.systemId)doctype+=' \x22'+dt.systemId+'\x22';doctype+='>\n'};loc.href='data:text/phf;charset=UTF-8,'+encodeURIComponent(doctype+sel.innerHTML+'\n')})();", , , "Save document""
Автор: billibons
Дата сообщения: 30.09.2014 15:41
PREVED
А то, что при нажатии на кнопку предлагается сохранить файл default - это нормально?
Автор: PREVED
Дата сообщения: 30.09.2014 16:37
billibons
Нормально, так скрипт отрабатывает. Вроде в сборке OperaAC была утилита (внешняя), которая имя файла в окно сохранения подставляет из заголовка текущей страницы. Если не ошибаюсь. Возможно, можно приспособить.
Автор: billibons
Дата сообщения: 30.09.2014 17:24
PREVED
Судя по фрагментам кода и эта кнопка должна делать это
Цитата:
имя файла в окно сохранения подставляет из заголовка текущей страницы.

Автор: inile
Дата сообщения: 30.09.2014 18:14
Переделанный скрипт. Находит и подсвечивает все слова, содержащие искомые символы, кроме случаев, когда фраза прерывается другим элементом. Цвет подсветки выбирается случайно. Можно замутить несколько поисков. Если цвета похожи, можно повторить поиск.
http://forum.ru-board.com/topic.cgi?forum=33&topic=11963&start=620#14
Автор: Tambovskii
Дата сообщения: 30.09.2014 20:19

Цитата:
Вроде в сборке OperaAC была утилита (внешняя), которая имя файла в окно сохранения подставляет из заголовка текущей страницы.

У меня настроена опера так, шо при выделении на странице слова(фразы), она выделенное выносит в название файла (MHT) и сохраняет т.о. страницу уже поименованную вами.
Про это речь?
Автор: billibons
Дата сообщения: 30.09.2014 20:39
Tambovskii
Не совсем. По умолчанию, Опера при сохранении документа предлагает имя из тега <title>, т.е. то, что отображается в синей полоске в самом верху окна.
Автор: billibons
Дата сообщения: 01.10.2014 09:02
inile
olezi
А не могли бы вы модифицировать скрипт таким образом, чтобы он подсвечивал несколько отдельных слов (или фраз) за один раз? Например, я ищу на странице упоминания о номерах версий 10.10, 11.64 и 12.14. Для того, чтобы в текущем варианте скрипта подсветить все перечисленные вхождения, мне придётся запускать его трижды, а хотелось бы иметь возможность перечислить все ключевые слова сразу через какой-нибудь разделитель (например, точку с запятой или вертикальную черту).

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196

Предыдущая тема: Расширения для Firefox (Mozilla Firefox Extensions)


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.