На веб-странице очень длинный список названий компаний.
Каждое имя представляет собой ссылку на страницу профиля, расположенную под страницей списка.
Итак, страница списка находится здесь
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 никогда не называется .
(Извините, я не могу предоставить живые URL, это частная бета-версия.) Спасибо за любые идеи !
<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>