Google Escape Hatch

Botão para voltar rapidamente à última pesquisa do Google (específico por aba).

نووسەر
BrunoFortunato
Daily installs
0
Total installs
1
Ratings
0 0 0
وەشان
0.6
Created
2025-05-16
Updated
2025-05-16
Size
8.06 KB
مۆڵەت
MIT
Applies to
هەموو سایتەکان

Descrição do Script "Google Escape Hatch"

O script "Google Escape Hatch" é uma ferramenta criada para usuários do Google Busca que enfrentam dificuldades ao tentar retornar aos resultados da pesquisa através do botão "Voltar" do navegador. Alguns sites manipulam o histórico de navegação, causando redirecionamentos infinitos dentro do site e impedindo que o usuário retorne facilmente à página de resultados do Google. Este script injeta um botão discreto na sua tela que se torna visível quando você navega em um site a partir de uma página de resultados de pesquisa do Google. Ao clicar neste botão, você é levado diretamente de volta à sua última página de resultados do Google, ignorando qualquer manipulação de histórico que o site possa ter implementado. Funções Principais do Script:

  • Detecção de Página de Pesquisa do Google:
    • O script inclui uma função (isGoogleSearchPage) que analisa a URL da página atual para determinar se ela corresponde a uma página de resultados de pesquisa do Google. Ele verifica se o hostname inclui "google." e se o pathname é "/search" ou se a URL contém o parâmetro de busca "q".
  • Armazenamento da Última Pesquisa do Google:
    • Quando você clica em um link em uma página de resultados de pesquisa do Google, o script salva a URL dessa página de resultados na memória do navegador usando a função GM_setValue (fornecida pelo gerenciador de scripts como o Tampermonkey). Ele armazena essa URL na variável lastGoogleSearch.
    • Ele também armazena a posição de rolagem da página de resultados (lastScrollPosition) para tentar restaurá-la ao retornar.
    • Uma flag (cameFromGoogle) é definida como true para indicar que você navegou para um site a partir do Google.
  • Prevenção de Falso Positivo em Recarregamento:
    • O script detecta se a página foi recarregada diretamente (sem ser uma nova navegação a partir de um link do Google) e, nesse caso, reseta a flag cameFromGoogle para evitar que o botão apareça indevidamente.
  • Criação do Botão de Escape:
    • Uma função (createEscapeButton) é responsável por criar e adicionar um botão ("←") à página web.
    • O botão só é criado se a variável lastGoogleSearch tiver um valor (ou seja, você veio de uma pesquisa do Google), a página atual não for uma página de pesquisa do Google e a flag cameFromGoogle estiver definida como true.
    • O botão é estilizado para ser fixo no canto inferior esquerdo da tela, com uma aparência discreta.
  • Funcionalidade do Botão:
    • Ao clicar no botão pela primeira vez, ele se expande para mostrar o texto "← Voltar para o Google".
    • Ao clicar novamente (quando expandido), o script redefine a flag cameFromGoogle para false e redireciona a janela do navegador para a URL armazenada em lastGoogleSearch, levando você de volta à sua página de resultados do Google.
    • Um listener de evento garante que, se você clicar fora do botão enquanto ele estiver expandido, ele se recolha novamente.
  • Observadores para Sites Dinâmicos (SPAs):
    • O script utiliza MutationObserver para observar mudanças no e no <body> da página. Isso é feito para detectar navegações em sites que carregam conteúdo dinamicamente sem recarregar a página (Single Page Applications - SPAs) e garantir que o botão seja criado ou recriado conforme necessário.</li> </ul></li> <li>Reinserção do Botão: <ul> <li>Outro MutationObserver (survivalObserver) monitora o <body> e tenta reinserir o botão caso ele seja removido por algum script do site.</li> </ul></li> <li>Garantia de Botão no Topo: <ul> <li>Um intervalo (setInterval) executa uma função (ensureButtonTopLevel) a cada 2 segundos para garantir que o botão permaneça no topo da hierarquia visual (com um z-index alto) e não seja obscurecido por outros elementos do site.</li> </ul></li> <li>Fallback para Criação do Botão: <ul> <li>Um intervalo de fallback tenta criar o botão repetidamente caso as outras tentativas iniciais falhem. Ele se encerra assim que o botão é criado.</li> </ul></li> <li>Correção de Posição ao Rolar: <ul> <li>Um listener de evento para o scroll da janela garante que a posição inferior do botão (bottom: 20px) seja mantida enquanto você rola a página.</li> </ul></li> <li>Estilização do Botão: <ul> <li>A função GM_addStyle injeta regras CSS para estilizar o botão, incluindo sua posição, cor, tamanho, borda, tipografia e comportamento ao passar o mouse e quando expandido. Ele também inclui estilos para o modo escuro, caso o navegador do usuário o prefira. Em resumo, o "Google Escape Hatch" é um script focado em fornecer uma maneira confiável e conveniente de retornar à sua pesquisa do Google, protegendo você contra táticas de manipulação de histórico de alguns websites.</li> </ul></li> </ul>