Google AJAX Search APIがリリースされたので当ブログにサイト内検索用に設置してみた。右のサイドバーの一番上。
ソースは以下。body要素で直接onLoadを呼び出しても問題ないがthemeのsidebar.php内に収めたかったのでregisterLoadHandlerを定義しています。Googleのサンプルに書いてあるソースがほとんどなので簡単でした。
<h2>Google Ajax Search</h2>
<link href="http://www.google.com/uds/css/gsearch.css" type="text/css" rel="stylesheet"/>
<script src="http://www.google.com/uds/api?file=uds.js&v=1.0&key=***" type="text/javascript"></script>
<script type="text/javascript">
//<![CDATA[
function onLoad()
{
var searchControl = new GSearchControl();
var blogSearch = new GblogSearch();
blogSearch.setUserDefinedLabel("blog.zuzara.com");
blogSearch.setSiteRestriction("http://blog.zuzara.com/");
searchControl.setResultSetSize(GSearch.LARGE_RESULTSET);
searchControl.addSearcher(blogSearch);
searchControl.draw(document.getElementById("searchcontrol"));
}
registerLoadHandler(onLoad);
function registerLoadHandler(handler)
{
var node = window;
if (node.addEventListener) {
node.addEventListener("load", handler, false);
} else if (node.attachEvent) {
node.attachEvent("onload", handler);
} else {
node['onload'] = handler;
}
return true;
}
//]]>
</script>
<div id="searchcontrol"></div>
参考:
hail2u.net - Weblog - Yahoo! Search Web ServicesのJSON(P)を利用したサイト内検索
Googleの同様のサイト内検索も非公式な段階で実現していてスゴイ。

Google Ajax Search API in WordPress
コメントはまだありません。
»
コメントはお気軽にどうぞ



