3
在網頁上有很長的公司名稱。
每個名稱都是指向位於列表頁面下方的個人檔案頁面的鏈接。如何限制Google自定義搜索到特定的網址?
所以列表頁面就設在這裏
http://example.com/companies/
和型材在這裏
http://example.com/companies/companyOne
http://example.com/companies/companyTwo
http://example.com/companies/companyThree
我想要實現列表頁面上的谷歌自定義搜索框,讓訪問者可以進入查詢並僅提供相關公司名稱。我已經創建了一個搜索結果中單獨的頁面,在這裏:
http://example.com/companies/results
所以我想,基本上,我想限制搜索到一個列表頁:
http://example.com/companies/
我搜索對於代碼和文檔,但我現在所返回的結果來自網站的所有頁面。並且setSearchStartingCallback永遠不會被稱爲。
(抱歉,我無法提供實時的網址,這是一個私人測試版。)感謝您的任何想法!
<script src="http://www.google.com/jsapi" type="text/javascript"></script>
<script type="text/javascript">
google.load('search', '1', {language : 'fr', style : google.loader.themes.MINIMALIST});
google.setOnLoadCallback
(
function()
{
var customSearchControl = new google.search.CustomSearchControl('MY_GOOGLE_ID_THINGIE');
customSearchControl.setResultSetSize(google.search.Search.FILTERED_CSE_RESULTSET);
customSearchControl.setSearchStartingCallback
(
this,
function(control, searcher, query)
{
alert("setSearchStartingCallback");
searcher.setQueryAddition("inurl:www.example.com/companies/");
searcher.setRestriction(google.search.Search.RESTRICT_EXTENDED_ARGS,{"as_sitesearch": "www.example.com/companies/"});
}
)
var options = new google.search.DrawOptions();
options.setAutoComplete(true);
customSearchControl.setAutoCompletionId('MY_GOOGLE_ID_THINGIE+qptype:1');
options.enableSearchboxOnly("http://www.example.com/companies/results");
customSearchControl.draw('cse-search-form', options);
}
,true
);
</script>
通過閱讀[此]找到一個解決方案(https://groups.google.com/a/googleproductforums.com/forum/#!category-topic/customsearch/執行/ PxIg1RviXok)。基本上,因爲我使用'僅限搜索框'選項,setSearchStartingCallback應該放置在結果頁面的代碼中。有一天某人會有人! – Kerans 2012-02-10 21:02:43