Google Ajax Search API in WordPress

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の同様のサイト内検索も非公式な段階で実現していてスゴイ。

This entry was posted in つくる. Bookmark the permalink. Post a comment or leave a trackback: Trackback URL.

Post a Comment

Your email is never published nor shared. Required fields are marked *

*
*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="">

Page optimized by WP Minify WordPress Plugin