javascript - 网站如何知道它们不是默认主页或搜索提供商?

标签 javascript browser search-engine webpage

据我所知,浏览器的默认主页/搜索提供商没有公开 API。那么谷歌怎么知道显示这个呢?只有当 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.'

我只能假设他们是从众多变量(例如引荐来源网址)中推断出来的。我没能成功地深入挖掘谷歌编译的 JavaScript。我什至不确定它是在客户端还是服务器端检测到的。

我使用的是 Firefox 44,但我也在 Chrome 上看到过这些横幅。

最佳答案

只是 无法 使用 JavaScript 来做到这一点,因为“默认搜索/主页”是用户的偏好,没有用户的许可您无法访问它因为那将是一个安全/隐私问题。

Google 所做的是在每次用户访问时显示一个带有关闭图标和一个带有说明如何将其设置为默认主页的“开始”按钮的促销广告。 点击其中任何一个,它会创建 2 个 cookie,以便下次检查您的 cookie 并使促销消失。即使当 Google 是您的主页并且您清除了 cookie 时,横幅仍然存在,以将 Google 宣传为您的主页。

我已经用 Firefox 检查了这个,不知道 Chrome。

关于javascript - 网站如何知道它们不是默认主页或搜索提供商?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34195660/

相关文章:

javascript - 变量似乎是耦合的

javascript - css中带空格和不带空格的类有什么区别,多个不带空格的类有什么用

javascript - 测量由 Javascript 发起的更改渲染时间

c# - 如何模拟按键事件?

php - MySQL 搜索和 PHP 结果

apache - X-Robots-Tag 未显示在 HTTP 响应 header 中

javascript - 服务变量更改时范围值不更新

javascript - jQuery 切片和点击事件

html - 当 child / child 漂浮时 parent 崩溃是一个错误,还是故意的?

search-engine - 如何通过特定的URL搜索Google?