自定义Chrome网址建议

时间:2012-11-16 06:23:35

标签: google-chrome browser google-chrome-extension

Chrome的一个有趣的事情是,如果您在地址栏上输入一个字词,它会显示相关的网址。例如,如果我键入“纽约”,则建议使用nytimes.com

是否可以开发提供自定义建议的扩展程序?例如,如果我有一个内部公司网站,请说foo托管带有数字ID的文档 - 比如http://domain.com/123http://domain.com/234。当有人在浏览器地址栏中输入“123”时,我希望http://domain.com/123显示为建议(即使之前从未访问过)。

这样的事情可能吗?如果是这样,我会喜欢一些指针(我从未开发过Chrome扩展程序,但如果可能的话,我可以查看并实现此功能)。

谢谢! 拉吉

1 个答案:

答案 0 :(得分:2)

是的,可以通过Omnibox,https://developer.chrome.com/extensions/omnibox.html 我在这里写了一个示例实现:

Manifest File:

{

 "name": "Omnibox Demo",

  "description" : "This is used for demonstrating Omnibox",

  "version": "1",

  "background": {

    "scripts": ["background.js"]

  },

  "omnibox": {
 "keyword" : "demo" 
},

  "manifest_version": 2

}

JS File:

chrome.omnibox.setDefaultSuggestion({"description":"Search %s in Dev Source Code"});

chrome.omnibox.onInputStarted.addListener(function() {

    console.log("Input Started");


});

chrome.omnibox.onInputCancelled.addListener(function() {

    console.log("Input Cancelled");

});

chrome.omnibox.onInputEntered.addListener(function (text) {
    console.log("Input Entered is " + text);
});

chrome.omnibox.onInputChanged.addListener(

  function(text, suggest) {

    console.log('inputChanged: ' + text);

    suggest([

      {content: text + " one", description: "the first one"},
      {content: text + " number two", description: "the second entry"}
    ]);
  });