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


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

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

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

3 89

3 ответа:

здесь ни чтобы сделать это с помощью JavaScript, потому что" поиск по умолчанию/Домашняя страница " является предпочтением пользователя, и у вас нет доступа к этому без пользователя потому что это было бы проблема безопасности / конфиденциальности.

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

Я проверил это с Firefox, не зная о Chrome.

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

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

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

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

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