Как веб-сайты знают, что они не являются домашней страницей по умолчанию или поисковым провайдером?

Насколько мне известно, публичного доступа к API для главной страницы/поставщика поиска по умолчанию для браузера нет. Итак, как Google знает, чтобы отобразить это? Это происходит только тогда, когда Google не является домашней страницей по умолчанию/поставщиком поиска по умолчанию в моем браузере.

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.'

Я могу только предположить, что они выводят из многочисленных переменных, таких как referrer. Я не смог успешно выкопать в скомпилированный JavaScript JavaScript. Я даже не уверен, обнаружил ли он клиентскую или серверную сторону.

Я на Firefox 44, но я тоже видел эти баннеры в Chrome.

Ответ 1

Просто для этого не существует no way, потому что "поиск по умолчанию/домашняя страница" является предпочтением пользователя, и у вас нет доступа к нему без пользовательских разрешений потому что это будет проблема безопасности/конфиденциальности.

Что Google делает при каждом посещении пользователя - это рекламное объявление с иконкой close и кнопкой go с инструкциями о том, как установить его как домашнюю страницу по умолчанию. При щелчке любого из них он создает 2 файла cookie, чтобы в следующий раз проверить ваши файлы cookie и заставить промо исчезнуть. Даже когда Google является вашей домашней страницей и вы очищаете свои файлы cookie, баннер все еще существует, чтобы рекламировать Google в качестве вашей домашней страницы.

Я проверил это с помощью Firefox, но не знал о Chrome.

Ответ 2

Я не знаю, что именно делает Google, но что я буду делать:

  • установите URL-адрес главной страницы с некоторым специальным параметром и проверьте его - http://www.example.com/#!homepage (предотвращает ложные негативы)
  • проверьте поле Referer:
    • Если это НЕ, предположите, что пользователь набрал его вручную
    • если он очень похож на каждый пользовательский визит (и, возможно, на то, что похоже на начало сеанса просмотра, выведенное через GA на странице eeevery), предположите, что пользователь приходит сюда, всегда щелкая где-нибудь
  • установить файл cookie, например. visitedHelpAboutHomePage, когда пользователь посещает страницу "да, покажи мне" (может предотвратить ложные негативы, но может также генерировать ложные срабатывания)

Обратите внимание, что "особый параметр" происходит в сценарии "инициированный поиском": есть параметр sourceid, который, вероятно, означает "источник поиска".

Ответ 3

В моем Firefox (v42), "Часто приходите сюда"? появляется, даже если у меня установлен Google в качестве поставщика поиска по умолчанию.

В Safari я получаю коробку в том же месте, где говорится: "Лучший способ просмотра в Интернете: получить Google Chrome"

В Opera и Chrome я не получаю никакого окна, даже если я изменил свой поисковый провайдер по умолчанию на что-то другое, кроме Google.

Итак, я считаю, что все, что они делают, - это обнаружение браузера в JavaScript, используя объект UserAgent.