Звідки веб-сайти знають, що вони не є домашньою сторінкою за замовчуванням або пошуковою службою?


89

Наскільки мені відомо, не існує загальнодоступного API-інтерфейсу домашньої сторінки / постачальника послуг пошуку браузера. То як Google знає, щоб це відображати? Це відбувається лише тоді, коли Google не є домашньою сторінкою за замовчуванням / постачальником послуг пошуку за замовчуванням у моєму браузері.

Спливаюче вікно на сторінці Google: „Швидше діставайтеся до Google.  Переключіть пошукову систему за замовчуванням на Google. ' Гуг на спливаючому вікні на сторінці: „Часто сюди ходити?  Зробіть Google своєю домашньою сторінкою. '

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

Я працюю у Firefox 44, але я бачив ці банери і в Chrome.



1
Я отримую їх у Edge навіть після того, як встановив їх за замовчуванням. Це просто не може знати.
Артуро Торрес Санчес,

Відповіді:


70

Просто цього неможливо зробити з JavaScript, оскільки "пошук / домашня сторінка за замовчуванням" є уподобанням користувача, і ви не маєте доступу до нього без дозволу користувача, оскільки це може бути проблемою безпеки / конфіденційності.

Що робить Google під час кожного відвідування користувача, так це показувати промо-оголошення із значком закриття та кнопкою переходу з інструкціями щодо встановлення його як домашньої сторінки за замовчуванням. При натисканні будь-якого з них він створює 2 файли cookie, щоб наступного разу перевірити ваші файли cookie та змусити промо-акції зникнути. Навіть коли Google є вашою домашньою сторінкою, і ви очищаєте файли cookie, тоді все ще є банер для реклами Google як вашої домашньої сторінки.

Я перевірив це у Firefox, не знаючи про Chrome.


6
Для мене це має сенс. Я отримую спливаючі вікна, коли я запускаю Firefox у приватному режимі, тому він не матиме доступу до OHAI GOOGLEфайлів cookie.
Коди з Hammer

Цілком можливо, що вони роблять щось особливе з хромом, оскільки вони його написали.
craftworkgames

вони, ймовірно, не показують це для chrome, оскільки Google і так є пошуковою системою за замовчуванням
gengkev

Інформація про домашню сторінку може бути доступна самому браузеру, наприклад, коли IE раніше пропонував домашню сторінку.
Халед. К.

19

Я не знаю, що саме робить Google, але що б я робив:

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

Зверніть увагу, що "спеціальний параметр" дійсно трапляється у сценарії "пошук, ініційований пошуковим полем": існує параметр, sourceidякий, ймовірно, означає "джерело пошуку".


2
#homepageХоча якір не подається на сервер, але може бути доступний для JavaScript. Крім того, я припускаю, що на домашній сторінці також немає референта, чи не так?
Хаген фон Айцен

Непогано, тому ви намагаєтеся дізнатися, чи відвідує користувач багато веб-сайту, ввівши текст. Оскільки ви знаєте, домашня сторінка відкривається лише в новому вікні, тому більшу частину часу користувачі вводять її адресу, оскільки її немає в закладки в більшості випадків.
Халед. К.

Хм, розрізнення закладок / домашньої сторінки звучить важко (особливо, оскільки одне є особливим випадком іншого) ...
Пісквор покинув будівлю

11

У моєму Firefox (v42) з'являється повідомлення "Часто сюди ходити?" з'являється навіть тоді, коли Google встановлено пошуковою службою за замовчуванням.

У Safari я отримую вікно в тому ж місці, де написано: "Кращий спосіб переглядати веб-сторінки: отримати Google Chrome"

В Opera та Chrome я взагалі не отримую жодного поля, навіть якщо я змінив постачальника пошуку за замовчуванням на щось інше, ніж Google.

Отже, я вважаю, що все, що вони роблять, - це виявлення браузера в JavaScript за допомогою об’єкта UserAgent.


1
Я припускаю, що це може бути заснований виключно на UA, але можна сподіватися, що Goog не виштовхуватиме мільйони фальшиво позитивних маркетингових банерів на день? Я усвідомлюю іронію в цьому коментарі.
Теннісон H

3
Бути пошуковим постачальником - це зовсім інше, ніж бути домашньою сторінкою за замовчуванням.
Елін
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.