Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 28.01.2017, 22:33
Интересующийся
Отправить личное сообщение для OmTatSat Посмотреть профиль Найти все сообщения от OmTatSat
 
Регистрация: 28.01.2017
Сообщений: 14

greasemonkey Enhanced word highlight добавить функционал
Здравствуйте.

Начну с предыстории.
Пользовал раньше search term highlighter на Firefox 42 и не знал горя, пока не попробовал Chrome и увидел что он грузит страницы одного сайта раза в 3-4 быстрее. Решил перейти на хром, за суток трое почти нашёл альтернативные дополнения, чтобы всё было как в Firefox. Но заметил такое дело, что когда открою в хроме около 20 вкладок - всё, комп становится тормозным - оперативка заканчивается((
Начал искать браузеры на движке геко чтобы расширения firefox остались, но чтобы страницы шустрее грузились, и наткнулся на CyberFox - то, что надо, скорость загрузки примерно как у хрома, иногда чуть быстрее иногда чуть медленнее, в принципе норм разницы в разы нет. Но дело в том, что самая большая скорость загрузки страниц на последней версии 51ой, и в ней если включить search term highlighter, то страницы при его отработке подвисают на несколько секунд. По этому решил найти альтернативу, единственное что стоящее нашёл это скрипт Enhanced word highlight, правда он изначально не поддерживал кириллицу и выделял слова слишком наляписто - полностью выделяя их цветом, search term highlighter умел просто подчёркивать.

В общем ввиду отсутствия знаний JS на добавление поддержки кириллицы и подчёркивания заместо выделения ушло 2 дня в гугле(( по этому решил создать тему, может JS профи смогут помочь затратив на это минимум времени, так как на следующие улучшения у меня думаю могут уйти месяца а то и вовсе никогда не произойти(( Выручите пожалуйста, буду очень Благодарен за любую помощь, только учитывайте пожалуйста нулевой уровень познания JS но и большое желание достичь результата)

search term highlighter умел при открытии ссылок с гугла в новой вкладке дальше продолжать подчёркивать то, что искалось в гугле. Enhanced word highlight вроде тоже должен это делать судя по описанию https://greasyfork.org/en/scripts/72...word-highlight
"Disable auto-highlight (auto-capture keywords for highlight) ?

⚪ Enable
⚪ Completely disable
⚪ Disable on pages opened from supported search results
⚪ Disable on supported search result pages"

Но почему-то этого не делает, пытаюсь поиском находить слова которые связаны с восстановлением, сохранением... и с фелс менять на тру, но безуспешно - при открытии, ссылки с гугла, в новой вкладке, скрипт не подсвечивает искомые слова(( Но если открыть ссылку в той же вкладке, то подсвечивает. По этому думаю, что всё же какая-то память в скрипте срабатывает, но почему не в новых вкладках?? И ещё в скрипте есть горячие клавиши, но они работают только на английской раскладке, возможно ли сделать чтобы срабатывало и при рус раскладке? Пробовал прописывать коды с http://www.character-code.com/ но это ничего не дало, может их как-то в скобки взять, или ещё каким либо образом оформить нужно??



Вот код оригинала скрипта https://greasyfork.org/en/scripts/72...highlight/code

И отредактированный http://pastebin.com/WtZHW1bw

Как было
Как стало

Последний раз редактировалось OmTatSat, 28.01.2017 в 22:42.
Ответить с цитированием
  #2 (permalink)  
Старый 29.01.2017, 12:09
Интересующийся
Отправить личное сообщение для OmTatSat Посмотреть профиль Найти все сообщения от OmTatSat
 
Регистрация: 28.01.2017
Сообщений: 14

Про остальные клавиши - хорошая идея, и со стрелками более интуитивно понятно по крайней мере следующее предыдущее слово)

Может возможно добавить горячую клавишу на включение лока?
Или ещё лучше чтобы он автоматом срабатывал при открытии новой вкладки/нажатии СКМ?
Ответить с цитированием
  #3 (permalink)  
Старый 29.01.2017, 12:15
Интересующийся
Отправить личное сообщение для OmTatSat Посмотреть профиль Найти все сообщения от OmTatSat
 
Регистрация: 28.01.2017
Сообщений: 14

Цитата:
и подчёркивания заместо выделения
// Было
'{background:'+rgb+'!important;}'
// Стало
'{border-bottom:2px solid '+rgb+'!important;}'
Не совсем так, если сделать так, то иногда крупный шрифт не будет подчёркиваться(
походу дело в высоте строки для текста, и бардюр просто в неё не влазился, с line-height: 1.3!important; бордер влазится, но выглядит кривовато, когда весь сайт чуть сдвигается....

пришёл к такому
border-bottom:1px solid '+rgb+';text-decoration: underline;font-weight: bold!important;


но border-bottom иногда очень далеко уходит от слова - не красиво(

И на данный момент остановился на

text-decoration-style: solid;text-decoration-color: '+rgb+'!important;text-decoration-line: underline;font-weight: 800!important;


Конечно было бы здорово чуть увеличить толщину подчёркивания, но пока ничего не нашлось.
Ответить с цитированием
  #4 (permalink)  
Старый 30.01.2017, 02:41
Интересующийся
Отправить личное сообщение для OmTatSat Посмотреть профиль Найти все сообщения от OmTatSat
 
Регистрация: 28.01.2017
Сообщений: 14

Здорово!!!)) Вот что значит знать язык... Огромное спасибо, на конец то нормальное подчёркивание)!... Хоткеи работают, правда кнопка лока на гуи перестала работать, но это мелочь, хоткеи удобней будут.


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

Так вот, искал где взять слова которые только что ввёл, перепробовал много переменных, но которые давали слова было 2 или 3 но они давали эти слова в независимости вводил я их или просто стоит лок. Может вы снова покажите магию?)

мысль типа такого
if (keyword_store != введённые слова) {
command_lock();

Если это провернуть, получится полный автопилот!)
Ответить с цитированием
  #5 (permalink)  
Старый 30.01.2017, 09:52
Интересующийся
Отправить личное сообщение для OmTatSat Посмотреть профиль Найти все сообщения от OmTatSat
 
Регистрация: 28.01.2017
Сообщений: 14

Сообщение от Rise
Значит что-то не так делаешь
да, так и есть, во первых просто добавил заместо заменить lock.addEventListener('click',command_lock,false)
и во вторых не убрал ниже идущее false.
Сейчас заработала кнопка гуи, Спасибо.

По поводу поиска введённых слов, подскажите пожалуйста, как можно выводить содержимое функций?

Вот так содержимое переменных выводится
alert('Первая строка\nВторая строка' + word_s)

Но если это функция, то пишет просто код функции, а если прописать return с функции - вообще не выводит ничего, как в данном примере.
Ответить с цитированием
  #6 (permalink)  
Старый 30.01.2017, 10:24
Интересующийся
Отправить личное сообщение для OmTatSat Посмотреть профиль Найти все сообщения от OmTatSat
 
Регистрация: 28.01.2017
Сообщений: 14

Вот так вроде в гугле говорят должно отобразить, но чего-то ничего не появляется

init_words(word)
alert (init_words(word))
Ответить с цитированием
  #7 (permalink)  
Старый 30.01.2017, 13:12
Интересующийся
Отправить личное сообщение для OmTatSat Посмотреть профиль Найти все сообщения от OmTatSat
 
Регистрация: 28.01.2017
Сообщений: 14

Спасибо за наводку, может есть где-то фак для новичков как ним пользоваться?
Активировал его как в вашей ссылке, потом открыл, нашёл вкладку debugger

в панели sources куча скриптов, но по поиску enhanced не находит этот скрипт
Ответить с цитированием
  #8 (permalink)  
Старый 30.01.2017, 20:57
Интересующийся
Отправить личное сообщение для OmTatSat Посмотреть профиль Найти все сообщения от OmTatSat
 
Регистрация: 28.01.2017
Сообщений: 14

Пробелов нет, вот ввожу 2 буквы, а на третей уже нет совпадений((

Ответить с цитированием
  #9 (permalink)  
Старый 30.01.2017, 21:12
Интересующийся
Отправить личное сообщение для OmTatSat Посмотреть профиль Найти все сообщения от OmTatSat
 
Регистрация: 28.01.2017
Сообщений: 14

Простите за большие картинки, предыдущий картинко обменник пока не хочет грузить картники, пришлось другим воспользоваться, но у него уже нет миниатюр.
Ответить с цитированием
  #10 (permalink)  
Старый 31.01.2017, 01:33
Интересующийся
Отправить личное сообщение для OmTatSat Посмотреть профиль Найти все сообщения от OmTatSat
 
Регистрация: 28.01.2017
Сообщений: 14

Нашел место в скрипте, в котором если прописать keyword_store = ''; то, новые слова подхватываются и после подхвата срабатывает ваш код, и включается лок.

Нашёл код для поиска слов, но застопорился на моменте что в примере поиск вёлся в статической строке которая в кавычках, а у меня переменная, как в ней найти гугл?

var currentLocation = window.location;
//var str = "Stack Overflow";
var n = currentLocation.search("google");
if (n != -1) {
   alert('String exists')
   keyword_store = '';
}
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск