Hasta donde yo sé, no hay exposición pública a la API de la página de inicio / proveedor de búsqueda predeterminada de un navegador. Entonces, ¿cómo sabe Google para mostrar esto? Solo aparece cuando Google no es la página de inicio / proveedor de búsqueda predeterminado en mi navegador.

Google on-page popup: 'Get to Google faster. Switch your default search engine to Google.' Googe on-page popup: 'Come here often? Make Google your homepage.'

Solo puedo suponer que infieren de numerosas variables, como el referente. No pude profundizar con éxito en el JavaScript compilado de Google. Ni siquiera estoy seguro si se detecta del lado del cliente o del lado del servidor.

Estoy en Firefox 44, pero también he visto estos banners en Chrome.

89
Tennyson H 10 dic. 2015 a las 10:05

3 respuestas

La mejor respuesta

Simplemente no hay ninguna forma de hacer eso con JavaScript porque la "búsqueda / página de inicio predeterminada" es la preferencia de un usuario y no tiene acceso a eso sin permiso del usuario porque eso ser un problema de seguridad / privacidad.

Lo que hace Google en cada visita del usuario es mostrar un anuncio promocional con un ícono de cierre y un botón Ir con instrucciones sobre cómo configurarlo como la página de inicio predeterminada. Al hacer clic en cualquiera de ellos, crea 2 cookies para que la próxima vez verifique sus cookies y haga que las promociones desaparezcan. Incluso cuando Google es su página de inicio y borra sus cookies, todavía hay un banner para promocionar a Google como su página de inicio.

He comprobado esto con Firefox, no estoy al tanto de Chrome.

70
JJJ 10 dic. 2015 a las 21:45

No sé exactamente qué hace Google, pero qué haría yo:

  • establezca la URL de la página de inicio con algún parámetro especial y compruébelo - 'http://www.example.com/#! página de inicio (evita falsos negativos)
  • compruebe el campo Referer:
    • si NO está allí, suponga que el usuario lo ha escrito manualmente
    • si es muy similar para cada visita del usuario (y tal vez en lo que parece ser el comienzo de una sesión de navegación, inferida a través de GA en cada página), suponga que el usuario viene aquí haciendo clic desde algún lugar
  • establecer una cookie, p. visitedHelpAboutHomePage cuando el usuario visita la página "sí, muéstrame" (puede evitar falsos negativos, pero también puede generar falsos positivos)

Tenga en cuenta que el "parámetro especial" sucede en el escenario "búsqueda iniciada por el cuadro de búsqueda": hay un parámetro sourceid que probablemente significa "fuente de búsqueda".

19
Piskvor left the building 10 dic. 2015 a las 07:57

En mi Firefox (v42), el "Ven aquí a menudo?" El cuadro aparece incluso cuando tengo a Google configurado como el proveedor de búsqueda predeterminado.

En Safari, aparece un cuadro en la misma ubicación que dice "Una mejor manera de navegar por la web: Obtén Google Chrome"

En Opera y Chrome no aparece ningún cuadro, incluso si cambio mi proveedor de búsqueda predeterminado a otro que no sea Google.

Entonces, creo que todo lo que están haciendo es la detección del navegador en JavaScript, utilizando el objeto UserAgent.

11
cutmancometh 10 dic. 2015 a las 07:13