Substituir eventos de "foco" no meu navegador?

1

Existe uma ferramenta que me permita impedir que páginas específicas refocalizem meu teclado quando eu as carregar?

    
por Wolfpack'08 06.02.2016 / 04:25

1 resposta

1

Eu tive o mesmo problema.

Plano de fundo: ao pesquisar no Google, muitas vezes eu visito várias páginas nos resultados por 3 ou 4 segundos e depois quero voltar. Infelizmente, o backspace não navega na página porque uma caixa de pesquisa está focada. Mover o trackpad para o botão de voltar tantas vezes é entediante em um laptop menor.

Solução de navegação de página: Basta pressionar a tecla Tab antes de Backspace sair da caixa e fazer com que o backspace saia da página. Alt+LeftArrow também funciona em sistemas Windows.

.

Solução real do UserScript: A partir daqui: Post do superusuário

// ==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;
});

Todo o crédito vai para Comfreek

Espero que isso ajude!

    
por 06.02.2016 / 05:08