Google Site Search为我们提供了强大的站内搜索功能,一般而言,我们实在是没有必要再费神去开发什么站内搜索引擎了,就让Google替我们完成这些耗费服务器资源的事情吧
Google站内搜索默认是使用“form ”方法提供的,下面是一段标准的Google站内搜索代码:
<form method="
post" target="
_blank" action="
http://www.google.cn/search">
<input type="
text"
name="
q" size="
26" /><br />
<input type="
submit" value="
Search"
name="
btnG" id="
btnG" />
<input type="
hidden"
name="
ie" value="
UTF-8" />
<input type="
hidden"
name="
oe" value="
UTF-8" />
<input type="
hidden"
name="
hl" value="
zh-CN" />
<input type="
hidden"
name="
domains" value="
www.tiray.net" />
<input type="
hidden"
name="
sitesearch" value="
www.tiray.net" />
</form>
问题是在Blogengine.NET和其它的一些ASP.NET程序中,上述方式根本无法执行。具体的原因我就不详细说了。下面是我的解决方法:
<!-- SiteSearch Google -->
<script type="
text/javascript">
function GoogleSearch(q) {
window.
location = "
http://www.google.cn/search" +
"
?q=" + q +
"
&ie=UTF-8" +
"
&oe=UTF-8" +
"
&hl=zh-CN"+
"
&domains=www.tiray.net" +
"
&sitesearch=www.tiray.net" ;
}
</script>
<asp:Panel ID="
search_panel" runat="
server" DefaultButton="
btnG">
<div style="
text-align:center">
<input type="
text"
name="
q" size="
26" maxlength="
255" value="
" id="
q" /><br /><br/>
<asp:Button ID="
btnG" OnClientClick="
GoogleSearch(q.value);return false;" Text="
Search" runat="
server" />
</div>
</asp:Panel>
<!-- SiteSearch Google -->
其实很简单,就是用"querystring"方法代替"form“方法。加了个Panel,并将"DefaultButton"属性设置为"btnG"的目的是为了方便用户输入完待搜索内容后直接按回车键就可以执行搜索,而不必去点击搜索键。把这段代码复制到Themes目录下site.master文件的相应位置,就可以很方便地实现Google的站内搜索功能了。当然了,别忘了先用Google的网站管理员工具登记一下你的网站地址,否则Google可不一定能找到你的网站哦!
在
www.tiray.net 的首页上,我就是用上述方法实现Google站内搜索搜索的。