2

我的問題是關於網址列。 Chrome API提供的思考,我想知道是否有可能在清單上有多個關鍵字。網址列multipe關鍵字

我一直在思考一個正則表達式或類似的東西,但我真的不知道該怎麼辦...

回答

0

我想我剛剛找到一個解決方案。

我發現,當你爲「嘗試」的搜索使用Google的網址是:

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上的URL我可以重定向這樣。你怎麼看 ?

// 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; 
} 
+0

沒錯上的相關信息,這就是我也用過(忘記提及它)。需要注意的是,如果您手動更改搜索提供商(例如,在您所在國家/地區的谷歌的本地化版本),它不會發送此參數 – serg 2011-03-18 17:19:19

+0

是的,事實上,我認爲這是最好的解決方案,問題只是我必須把它寫入所有類型的搜索引擎的...所以不是真正通用的,但好... 你看到另一種解決辦法? – Sindar 2011-03-18 17:21:06

+0

不,不能考慮其他事情。 – serg 2011-03-18 17:23:28

0

對不起,不可能。

我看你還是試圖讓自定義搜索提供商。我想給你一個關於我在類似的擴展中做了什麼的想法,如果你用大寫字母輸入關鍵字,觸發谷歌幸運搜索而不是常規搜索。它有一些缺陷和侷限性(最大的一個是默認搜索提供者必須是谷歌,它仍然短暫顯示谷歌的搜索結果),但至少東西:

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插件)。

+0

感謝幫助我再次花花公子。事情是,我已經想到了這個解決方案,但我必須使用雅虎搜索。技術上有什麼我能做的就是重定向在雅虎的所有用戶,但也很給多... 我真的繼續尋找另一種解決方案,但不是很多網絡這個... – Sindar 2011-03-18 16:36:52