Здравствуйте.
Думаю я не единственный, кому не по нутру горячие клавиши в поисковиках Google, Yandex, Youtube. Суть в том, что при открытии поисковой страницы (например Google) нажатие любой буквенной клавиши на клавиатуре приводит к автоматическому поиску (т.е. курсор автоматом встает в поисковую строку) и осуществляется поиск. С одной стороны для кого-то такое поведение удобно, но некоторые предпочитают устанавливать курсор вручную, а уже затем осуществлять поиск. Да и вообще, тот факт, что сайт перехватывает у нас управление с клавиатуры - дикость по моему личному мнению.
Для браузера Opera 12 есть неплохой скрипт, который позволяет бороться с этой напастью (см. ниже).
Просьба знатокам подсказать что в этом скрипте нужно модифицировать чтобы он заработал с Firefox/GreaseMonkey. Или подскажите пожалуйста аналогичный скрипт, который блокирует(временно или на совсем) горячие клавиши на этих сайтах, либо переназначает их на какие-нибудь редко используемые.
// ==UserScript== // @name Keyboard Shortcut Blocker // @include http://www.youtube.com/* // @include https://www.youtube.com/* // @include http://youtube.com/* // @include https://youtube.com/* // @include http://images.google.com/* // @include http://www.google.com/ // @include http://www.google.co.*/ // @include http://www.google.*/search* // @include https://www.google.*/search* // @include http://www.google.*/webhp* // @include https://www.google.*/webhp* // @include http://google.*/search* // @include https://google.*/search* // @include http://google.*/webhp* // @include https://google.*/webhp* // @include http://www.google.*/ // @include https://www.google.*/ // @include http://google.*/ // @include https://google.*/ // @include http://www.google.*/#* // @include https://www.google.*/#* // @include http://google.*/#* // @include https://google.*/#* // @include http://yandex.ru/* // @include http://images.yandex.ru/* // @include http://video.yandex.ru/* // @include http://market.yandex.ru/* // @include http://maps.yandex.ru/* // @include http://blogs.yandex.ru/* // @include https://yandex.ru/* // @include https://mail.yandex.ru/* // @include http://wwww.avito.ru/* // ==/UserScript== (function(opera) { var keypress = [ 37, // Left 38, // Up 39, // Right 40, // Down 49, // 1 50, // 2 54, // 6 43, // +, + grey 45, // -, - grey 92, // \ ]; var keydown = [ 37, // Left 38, // Up 39, // Right 40, // Down 49, // 1 50, // 2 54, // 6 43, // + grey 45, // - grey 61, // + 109, // - 220, // \ ]; var keyup = keydown; function blockKey(e, blocklist) { if (blocklist.indexOf(e.keyCode) != -1) e.stopPropagation(); } opera.addEventListener('BeforeEvent.keypress', function(e) { blockKey(e.event, keypress); }, true); opera.addEventListener('BeforeEvent.keyup', function(e) { blockKey(e.event, keyup); }, true); opera.addEventListener('BeforeEvent.keydown', function(e) { blockKey(e.event, keydown); }, true); })(window.opera);
Отсутствует
сайт перехватывает у нас управление с клавиатуры
Просто задан элемент, на который по умолчанию устанавливается фокус. Никакой это не перехват. Браузер сам смотрит, где ему нужно поставить фокус и сам его ставит.
Отсутствует
littleleshy
С этим можно бороться (для избранных адресов)?
Хоткеи тоже отключить бы. Подскажите пожалуйста что нужно заменить в приведенном UserJS для совместимости с FF/GM.
Отсутствует
Суть в том, что при открытии поисковой страницы (например Google) нажатие любой буквенной клавиши на клавиатуре приводит к автоматическому поиску (т.е. курсор автоматом встает в поисковую строку) и осуществляется поиск.
Что-то никак подобного поведения не могу добиться. При нажатии любых клавиш ни в Гугле, ни в Яндексе курсор никуда не перемещается.
Отсутствует
При нажатии любых клавиш ни в Гугле, ни в Яндексе курсор никуда не перемещается
Опа, а у меня обратное поведение. Событие нажатия клавиши обрабатывается, и фокус перемещается в окно ввода. Соответственно, символ, соответствующий нажатой клавише, там и оказывается. Хм.
Отсутствует
Опа, а у меня обратное поведение. Событие нажатия клавиши обрабатывается, и фокус перемещается в окно ввода. Соответственно, символ, соответствующий нажатой клавише, там и оказывается. Хм.
Может у мну из-за NoScript ничего никуда не дергается.
Отсутствует
Может у мну из-за NoScript ничего никуда не дергается
Это очень легко проверить
Отсутствует
В общем так. Установлены FF26 и 29. Профили одинаковые. Попробовал сносить Noscript, поведение браузера обоих версий не меняется. Ну не хочет он у меня искать автоматом.
С другой стороны, это может быть и плохо. Ведь для чего открывать поисковик? Правильно, для поиска. И установка курсора в поле поиска вполне логична, это позволяет сразу осуществить нужный запрос. А если нужен другой элемент страницы, по нему все равно следует кликнуть мышкой.
Отредактировано Baron_ (16-01-2014 08:10:28)
Отсутствует
Помогите пожалуйста модифицировать скрипт в первом посте для совместимости с Firefox+GreeseMonkey! Я подозреваю что там реально две строчки всего нужно подправить.
P.S.:
Я настроил себе с помощью keyconfig переключение по вкладкам (вкладка слева, вкладка справа) клавишами "1" и "2". Очень удобно.
Переключает нормально, только до первой вкладки с гуглем и яндексом. Раздражает крайне.
Отсутствует