将自定义搜索引擎添加到chrome

时间:2011-10-29 18:46:25

标签: google-chrome google-chrome-extension

我刚开始编写chrome扩展程序。现在我遇到了障碍。据我所知,所有chrome数据都存储在名为WEB DATA的SQLite数据库中。

现在基于omnibar中的一些输入,我需要在此WEB DATA中的表中插入一些记录。

你知道如何在打开chrome时以编程方式完成这项工作吗?因为我们可以选择 - >管理搜索引擎 - >并在底部添加一个新的搜索引擎。 chrome如何在幕后做到这一点?

提前致谢!

2 个答案:

答案 0 :(得分:0)

据我所知,Chrome运行时无法直接编辑文件。尝试使用sqlite3.exe返回“数据库已锁定”错误。
有关如何添加搜索引擎的详细信息,请参阅my answer here

答案 1 :(得分:0)

下载并解压缩sqlite-tools-win32-x86-3240000.zip。

首先,在Google Chrome中添加搜索提供商:

  • 右键点击地址栏,然后选择"编辑搜索引擎...";
  • 在页面" chrome:// settings / searchEngines"中,点击"添加";
  • 输入搜索引擎名称,关键字和搜索网址(例如DuckDuckGo,duckduckgo.com,https://duckduckgo.com/?q=%s),点击"添加";
  • 关闭 Google Chrome;

打开Windows命令提示符(cmd.exe)。键入以下命令:

sqlite3.exe "%LOCALAPPDATA\Google\Chrome\User Data\Default\Web Data"

(而#34; web Data"是实际的sqlite-database文件)

使用sqlite打开文件。现在键入以下命令将搜索引擎导出到.CSV文件:

sqlite> .headers on
sqlite> .mode csv
sqlite> .output C:/keywords_table.csv
sqlite> SELECT * FROM keywords;
sqlite> .quit

打开.CSV文件并注意最后一行: 6,DuckDuckGo,duckduckgo.com,https://duckduckgo.com/favicon.ico,https://duckduckgo.com/?q=的{searchTerms},0,"",13173455944766115,0,"""&#34 ;, 0,0,13173455944766115,2bb9a9bf-8921-421a-89b4-06deeaaf0742,[],""""""" """,0

使用.CSV文件中的信息将新搜索引擎添加到谷歌浏览器(再次从Windows命令提示符):

sqlite3.exe "%LOCALAPPDATA%\Google\Chrome\continuousUpdates\User Data\Default\Web Data" "INSERT INTO keywords VALUES(6,'DuckDuckGo','duckduckgo.com','https://duckduckgo.com/favicon.ico','https://duckduckgo.com/?q={searchTerms}',0,'',13173455944766115,0,'','',0,0,13173455944766115,'2bb9a9bf-8921-421a-89b4-06deeaaf0742','[]','','','','','',0);"

请注意,我已将所有双引号替换为单个qoutes,并将所有字符串值也放在单个qoutes中。

启动Google Chrome并检查" chrome:// settings / searchEngines"如果新搜索引擎出现在列表中"默认搜索引擎"或"其他搜索引擎"