やるきなしなしだったGoogle Custom Search (Googleカスタム検索エンジン)の設置を見直した.今まではページトップに設置して,検索結果はポップアップ表示というやる気のない感じだったが,検索フォームを自前設置して結果を別ページに表示する方式に変えた.
https://myn.meganecco.org/s/が検索結果のページで,?q=query
付きで開く(<form action="/s/" method="get">
でsubmitする)と検索結果が表示される.Google Custom Search のページから copy した javascript と以下を書いてあるぐらい.
<div class="gcse-searchresults-only" data-linkTarget="_self"></div>
当初は以下だったがHTML validatorで少し怒られるのでhttps://developers.google.com/custom-search/docs/element#html5を参照のうえ上記にした.
<gcse:searchresults-only linkTarget="_self"></gcse:searchresults-only>
あとは検索の後に query 文字列を検索テキストボックスに入力するために,以下のような細工を入れておく(要jQuery).
$(function() {
var urlParams = new URLSearchParams(window.location.search);
$('input[type="text"]').val(urlParams.get("q"));
});
ちなみに,親サービスであるGoogle Site Search はhttps://enterprise.google.co.jp/intl/ja/search/products/gss.htmlに以下のようにある通り,今年度いっぱいでサービス終了.無料のGoogle Custom Search (Googleカスタム検索エンジン)は引き続き使えるらしい.
Google Site Search の販売および更新は、2017年4月1日をもって終了いたしました。同サービスの提供は、2018年4月1日までに完全に停止されます。