6

Есть ли расширение Firefox или встроенная конфигурация, которая позволит отключить фокусировку при загрузке в текстовых полях?

Я не хочу отключать JavaScript. Я просто устал от определенных сайтов, которые автоматически фокусируются в окне поиска, когда я не собираюсь искать.

Раздражает то, что, если я взаимодействую с панелью инструментов или чем-то еще, фокус мгновенно переходит к окну поиска. Что затем требует от меня вернуться к панели инструментов или что-то еще, что я делал.

Обычно я не считаю это проблемой. Но в целом это происходит: откройте новую вкладку, нажмите на панели инструментов, начните печатать. На полпути страницы заканчивается загрузка, и половина того, что я набрал, теперь находится в окне поиска, а не на панели инструментов. Бывает примерно 200 раз в день ...

3 ответа3

2

Вы можете использовать плагин NoScript, который похож на убийство муравьев кувалдой, или вы можете попробовать этот скрипт greasemonkey:

// ==UserScript==
// @name           Stop Google Stealing Focus
// @namespace      http://googlesystem.blogspot.com
// @include        http://www.google.*/
// @include        http://www.google.*/ig*
// ==/UserScript==

(function () {
    document.body.setAttribute('onload',''); 
})();

Это работает для меня - кто знает, есть ли у него другие побочные эффекты?

1

У надстройки VimFX (которая позволяет вам управлять браузером с клавиатуры) есть опция, которая запрещает автофокусировку текстовых полей, которая работает для меня на всех сайтах, которые я тестировал до сих пор.

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

1

Я не знаю ничего конкретного, но так как сценарии greasemonkey запускаются сразу после заполнения DOM, но до вызова обработчиков событий onload (как указано в http://greasemonkey.mozdev.org/authoring.html), вы можете написать скрипт, который отключил или изменил событие onload для сайтов, с которых вы хотите удалить поведение.

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

Это также не будет работать для сайтов, которые выполняют перефокусировку непосредственно во время рендеринга страницы (вызывая метод focus непосредственно в блоке <SCRIPT>, а не в коде, вызываемом событием onload.

Возможно, стоит поискать на http://userscripts.org/, чтобы узнать, существуют ли там какие-либо сценарии для сайтов, для которых вы хотите изменить поведение.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .