如何检测 Chrome 默认搜索引擎
How to detect Chrome default Search engine
我正在开发一个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,您将收到错误。
相关文章:
- JQuery BlockUI鼠标加载光标没有't在Google Chrome中返回默认值
- 在 Chrome 中打开电子邮件中的网址/链接,而不是默认浏览器 IE8
- 'Body'在chrome扩展中打开默认电子邮件客户端时为空
- 阻止 Chrome 的默认键控事件
- Ctrl+S 防止 Chrome 中的默认值
- 如何检测 Chrome 默认搜索引擎
- 预防保存弹出窗口的默认在 chrome 中工作,但在火狐中不起作用
- Android WebView 不适用于默认浏览器,但适用于 Chrome
- “this”的默认绑定与 Chrome 浏览器和 Node.js 不同
- 如何在chrome浏览器中打开链接,即使默认的计算机浏览器是“Safari”
- ES2015默认参数不适用于chrome
- 添加Chrome扩展时的本地化问题——说我没有指定默认的语言环境,尽管我指定了
- 使用AjaxStop事件(在Chrome中)完成ajax调用后,将等待光标更改为默认(自动)
- 是否可以使用Google Chrome扩展来更改默认搜索引擎
- 如何在Google Chrome中设置SpeechSynthesisUtterance的默认语音
- Chrome不允许选项卡默认
- 覆盖功能键默认操作在Chrome
- Chrome中的快捷键命令不阻止默认操作
- 在Chrome上使用Jquery禁用一个网站的默认热键
- Dropbox和Box选择器不能在默认的Chrome页面上工作