在网页上有很长的公司名称列表 每个名称都是指向列表页面下方的个人资料页面的链接。
所以列表页面就在这里
http://example.com/companies/
个人档案在这里
http://example.com/companies/companyOne
http://example.com/companies/companyTwo
http://example.com/companies/companyThree
我想在该列表页面上实施Google自定义搜索框,以便访问者可以输入查询并仅显示相关的公司名称。我在这里为搜索结果创建了一个单独的页面:
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>
答案 0 :(得分:0)
使用此
customSearchOptions[google.search.Search.RESTRICT_EXTENDED_ARGS] = {'as_sitesearch' : 'mywebsite.com/dir/*'};