Como os sites sabem que não são a página inicial padrão ou o provedor de pesquisa?

89

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.

Pop-up na página do Google: 'Acesse o Google mais rápido.  Mude seu mecanismo de pesquisa padrão para o Google. ' Pop-up na página do Googe: 'Você vem sempre aqui?  Faça do Google a sua página inicial. '

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.

Tennyson H
fonte
1
Relacionado: stackoverflow.com/questions/15813851/…
Ufuk Hacıoğulları
1
Recebo isso no Edge mesmo depois de defini-los como padrão. Simplesmente não pode saber.
Arturo Torres Sánchez

Respostas:

70

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.

Shailendra Sharma
fonte
6
Isso faz sentido para mim. Eu recebo os pop-ups quando executo o Firefox em modo privado, então ele não teria acesso a nenhum OHAI GOOGLEcookie.
Códigos com o Hammer de
É perfeitamente possível que eles façam algo especial com o cromo desde que o escreveram.
craftworkgames de
eles provavelmente não mostram isso para o cromo, já que o Google é o mecanismo de pesquisa padrão de qualquer maneira
gengkev
As informações da página inicial podem ser acessadas pelo próprio navegador, como quando o IE costumava sugerir uma página inicial.
Khaled.K
19

Não sei o que o Google faz exatamente, mas o que eu faria:

  • defina o URL da página inicial com algum parâmetro especial e verifique - ' http://www.example.com/#!homepage (evita falsos negativos)
  • verifique o Referercampo:
    • se NÃO estiver lá, presuma que o usuário o digitou manualmente
    • se for muito semelhante para cada visita do usuário (e talvez no que parece ser o início de uma sessão de navegação - inferida via GA em todas as páginas por aí), suponha que o usuário esteja vindo aqui, clicando sempre de algum lugar
  • definir um cookie, por exemplo, visitedHelpAboutHomePagequando 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 sourceidque provavelmente significa "fonte de pesquisa".

Piskvor saiu do prédio
fonte
2
Uma âncora #homepagenã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 é?
Hagen von Eitzen
Nada mal, então você está tentando ver se o usuário visita muito um site digitando. Porque você sabe, a página inicial só abre em uma nova janela, então na maioria das vezes, os usuários digitam seu endereço, já que não está no marcadores na maioria dos casos.
Khaled.K
Hmm, distinguir marcador / página inicial parece difícil (especialmente porque um é um caso especial do outro) ...
Piskvor deixou o edifício
11

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.

cutmancometh
fonte
1
Eu acho que poderia ser uma base puramente fora do UA, mas seria de se esperar que o Goog não exibisse milhões de banners de marketing falso-positivos por dia. Eu percebo a ironia neste comentário.
Tennyson H
3
Ser o provedor de pesquisa é totalmente diferente de ser sua página inicial padrão.
Elin