Обсуждения » Хотелки

Can I prevent websites from taking focus to an arbitrary field (or other element) on page load?

Can I prevent websites from taking focus to an arbitrary field (or other element) on page load?

This can be frustrating especially if the page loads slowly and the website takes to focus to a different field mid typing. It also prevent me from using single key hotkeys (/.- and such)
There's no point in taking focus into search fields and such, I can decide when I want to search.

Not tested:

// ==UserScript==
// @name        Disable autofocus while loading
// @include     *
// @run-at      document-start
// ==/UserScript==

document.addEventListener('focusin', blur, true);
window.addEventListener('load', function _() {
  window.removeEventListener('load', _);
  document.removeEventListener('focusin', blur, true);
});

function blur(e) {
  if (e.target.localName == 'input' || e.target.localName == 'textarea') {
    e.target.blur();
  }
}

If it doesn't work try removing both , true.

Thanks again!

Hmmm. This has some issues.
I can't even select field manually while loading it seems.
Also, it doesn't seem effective for google advanced search: https://www.google.com/advanced_search?hl=en

On this website it often fails, when I refresh: https://www.arukereso.hu/mobiltelefon-c3277/

Firefox offers a "browser.autofocus" setting in about:config. Is there a reason this setting is not sufficient?

§
Создано: 02.06.2017
Отредактировано: 02.06.2017
Firefox offers a "browser.autofocus" setting in about:config. Is there a reason this setting is not sufficient?

I tried it. It doesn't seem to affect what happens within the page.

Ответить

Войдите, чтобы ответить.