Web ページには、会社名の非常に長いリストがあります。
各名前は、リスト ページの下にあるプロファイル ページへのリンクになっています。
一覧ページはこちら
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/
コードとドキュメントを検索しましたが、現在持っているものは、Web サイトのすべてのページからの結果を返します。また、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>