多功能框关键字多关键字

时间:2011-03-18 15:44:57

标签: javascript jquery google-chrome google-chrome-extension chromium

我的问题是关于多功能框。 Chrome API提供的思路,我想知道清单上是否有可能有多个关键字。

我正在考虑使用正则表达式或类似的东西,但我真的不知道该怎么做......

2 个答案:

答案 0 :(得分:0)

抱歉,不可能。

我发现您仍在尝试制作自定义搜索提供商。我想让你知道我在类似的扩展中做了什么,如果你用大写字母键入你的关键字,它会触发google lucky search而不是常规搜索。它有一些陷阱和限制(最大的一个是默认搜索提供商必须是谷歌,它仍然简要显示谷歌搜索结果),但至少有一些东西:

chrome.tabs.onUpdated.addListener(function(tabId, changeInfo, tab) {
      if(changeInfo.status == "loading") {
              var url = $.url.setUrl(tab.url);
               if((url.attr("protocol") == "https" && url.attr("host").indexOf("encrypted.google.") == 0
                                      || url.attr("protocol") == "http" && url.attr("host").indexOf("www.google.") == 0)
                              && url.attr("path") == "/search" && url.param("q") && isAllCapital(url.param("q"))) {

                      //do something with search term inside url.param("q")
              }
      }
});

(我正在使用URL Parser插件)。

答案 1 :(得分:0)

我想我只是找到了解决方案。

我发现当你使用谷歌搜索“尝试”时,网址为:

  

http://www.google.com/#sclient=psy&hl=fr&site=&source=hp&q=TRY&aq=f&aqi=&aql=&oq=&pbx=1&fp=ec3d6f66084ab746

当它来自Chrome网址时,它是:

  

http://www.google.com/search?sourceid=chrome&ie=UTF-8&q=TRY

所以基本上如果我检查网址上是否有sourceid = Chrome,我可以像这样重定向。你觉得怎么样?

// If Google Search from the URL (sourceid)
if(URL.match('google') && parseUri(URL).queryKey['sourceid'] == 'chrome')
{
    chrome.tabs.update(tabId, { url: 'http://search.yahoo.com/search?p=' + parseUri(URL).queryKey['q'] });
    return;
} // If Bing Search from the URL (setmkt)
else if(URL.match('bing') && parseUri(URL).queryKey['setmkt'])
{
    chrome.tabs.update(tabId, { url: 'http://search.yahoo.com/search?p=' + parseUri(URL).queryKey['p'] });
    return;
}