如何检测 Chrome 默认搜索引擎

How to detect Chrome default Search engine

本文关键字:Chrome 默认 搜索引擎 检测 何检测      更新时间:2023-09-26

我正在开发一个Chrome扩展程序,我的要求是检测Chrome网络浏览器的默认搜索引擎。

我已经在网上搜索了很多,但没有得到任何 API 来检测。

我也在网上搜索过Javascript/Jquery,但到目前为止还没有运气。

请向我建议一些方法,以便我可以检测Chrome浏览器的默认搜索引擎。

我能想到的唯一方法是查询HTML5外部接口。

虽然这不会给你用户的默认搜索引擎,但你可以查询搜索引擎的URL,看看他是否正在使用一个你知道的URL。

installed = window.external.IsSearchProviderInstalled(url)

返回一个值,该值基于将 url 与已安装搜索引擎的结果页的 URL 进行比较。

0:安装的搜索引擎都与 url 不匹配。

1:一个或多个已安装的搜索引擎与 url 匹配,但没有一个是用户的默认搜索引擎。

2:用户的默认搜索引擎与网址匹配。

但请注意以下几点:

使用前缀匹配将 URL 与已安装搜索引擎的结果页面的 URL 进行比较。仅检查与调用此方法的脚本位于同一域上的结果页。

这意味着您只能检查浏览器是否在您正在查询的网站上。

因此,如果您冲浪到 https://www.google.com 并在控制台中运行以下内容:

external.IsSearchProviderInstalled("https://www.google.com")

将返回 2,如果您在控制台中对要查询的 URL 以外的另一个 URL 运行相同的 URL,您将收到错误。