How to Disable Autofocus on Input Fields in Chrome – Google Chrome Extensions

google-chromegoogle-chrome-extensions

Is is possible in general to make Chrome not to focus on any of the fields automatically, for example, after the page has been loaded?

Extensions that use keys on keyboard don't work well with autofocus and type instead of executing commands.

Best Answer

I've just written script for you:

// ==UserScript==
// @name           Disable auto-focussing
// @author         ComFreek <comfreek at the following domain 'outlook' with the TLD 'com'>
// @description    Disable auto-focussing
// @include *
// @version        1.0
// ==/UserScript==

var maxTime = 3000;
var timeoutInterval = 5;

var usedTime = 0;
var isManualFocus = false;
function check() {
    if (!isManualFocus && document.activeElement.tagName.toLowerCase() == "input") {
        console.log("BLURRED");
        document.activeElement.blur();
    }
    usedTime += timeoutInterval;
    if (usedTime < maxTime) {
        window.setTimeout(check, timeoutInterval);
    }
}
check();


document.body.addEventListener("click", function (evt) {
    if (evt.target.tagName == "INPUT") {
        console.log("MANUAL CLICK");
        isManualFocus = true;
    }
});

document.body.addEventListener("keydown", function (evt) {
    isManualFocus = true;
});

Warning The script will interfere with the user if he immediately starts typing while the script is still operating. This is fixed.

Installation (manual method)

  1. Save the script as XX.user.js (XX can be any string, but .user.js is important here!)

  2. Open the extensions page in Chrome (the URI is chrome://extensions/ as of Chrome v31)

  3. Drag the script from the file explorer and drop it over the extensions page.

  4. Confirm the installation

Installation (TamperMonkey)

My script should work with TamperMonkey according to OP's comment below. Please consult TamperMonkey's manual for further information on how to install my script.

Related Question