Até onde eu sei, não há exposição pública de API da página inicial / provedor de pesquisa padrão de um navegador. Então, como o Google sabe como exibir isso? Isso só acontece quando o Google não é a página inicial / provedor de pesquisa padrão do meu navegador.
Só posso supor que eles estão inferindo de várias variáveis, como o referenciador. Não fui capaz de me aprofundar no JavaScript compilado do Google. Eu nem tenho certeza se ele foi detectado no lado do cliente ou no lado do servidor.
Estou no Firefox 44, mas também vi esses banners no Chrome.
javascript
browser
search-engine
webpage
Tennyson H
fonte
fonte
Respostas:
Simplesmente não há como fazer isso com JavaScript porque a "pesquisa / página inicial padrão" é a preferência do usuário e você não tem acesso a ela sem a permissão do usuário, pois isso seria um problema de segurança / privacidade.
O que o Google faz a cada visita do usuário é mostrar um anúncio promocional com um ícone de fechamento e um botão ir com instruções sobre como defini-lo como a página inicial padrão. Ao clicar em qualquer um deles, cria 2 cookies para que da próxima vez verifique os seus cookies e faça desaparecer as promoções. Mesmo quando o Google é sua página inicial e você limpa seus cookies, um banner ainda está lá para promover o Google como sua página inicial.
Eu verifiquei isso com o Firefox, não tenho conhecimento do Chrome.
fonte
OHAI GOOGLE
cookie.Não sei o que o Google faz exatamente, mas o que eu faria:
Referer
campo:visitedHelpAboutHomePage
quando o usuário visita a página "sim, mostre-me" (pode evitar falsos negativos, mas também pode gerar falsos positivos)Observe que o "parâmetro especial" ocorre no cenário de "pesquisa iniciada pela caixa de pesquisa": há um parâmetro
sourceid
que provavelmente significa "fonte de pesquisa".fonte
#homepage
não é enviada para o servidor, mas pode estar disponível para javascript. Além disso, presumo que a página inicial também não tenha referenciador, não é?No meu Firefox (v42), a opção "Você vem sempre aqui?" A caixa aparece mesmo quando tenho o Google definido como o provedor de pesquisa padrão.
No Safari, recebo uma caixa no mesmo local que diz "Uma maneira melhor de navegar na web: Obtenha o Google Chrome"
No Opera e no Chrome não recebo nenhuma caixa, mesmo se eu mudar meu provedor de pesquisa padrão para algo diferente do Google.
Então, acredito que tudo o que eles estão fazendo é detectar o navegador no JavaScript, usando o objeto UserAgent.
fonte