现在的位置: 首页 > 综合 > 正文

给自己的Blog 上添加定制的搜索引擎

2013年10月05日 ⁄ 综合 ⁄ 共 2537字 ⁄ 字号 评论关闭

今天在CNBlog.ORG上看到Isaac的一篇Blog文章,简单介绍如何在自己的Blog 上添加定制的搜索引擎。我打算也在这个Blog上也做一个尝试。

除了Isaac介绍的方法步骤做下去,还有一些问题是需要注意的,这里注明一下。

1,首先到Google申请免费站内搜索引擎。按照它的步骤填写完成。

2,得到Google给的html搜索代码,比如这样
<!-- Search Google -->
<center>
<FORM method=GET action=http://www.google.com/custom>
<TABLE bgcolor=#FFFFFF cellspacing=0 border=0>
<tr valign=top><td>
<A HREF=http://www.google.com/search>
<IMG SRC=http://www.google.com/logos/Logo_40wht.gif border=0 ALT=Google align=middle></A>
</td>
<td>
<INPUT TYPE=text name=q size=31 maxlength=255 value="">
<INPUT type=submit name=sa VALUE="Google Search">
<INPUT type=hidden name=cof VALUE="AH:center;AWFID:3182aae82da4ddf8;">
<input type=hidden name=domains value="blog.csdn.net"><br><input type=radio name=sitesearch value=""> %(domain)s <input type=radio name=sitesearch value="blog.csdn.net" checked> %(domain)s
</td></tr></TABLE>
</FORM>
</center>
<!-- Search Google -->

 

3,编码的问题 ,如果是gb2312的编码需要在表单中加入:
<input type=hidden name=ie value="GB2312">
<input type=hidden name=oe value="GB2312">
chedong对此作了了补充,可以在这里看到

4,在Blog管理界面的选项>>配置中的静态新闻/声明加入以上搜索引擎表单代码。
trying一下,还不行吧。:)。因为这个blog系统是asp.net的,整个页面是一个web form,.net的web form一创建就有一个很大的form了,看看html源代码,你会发现在body后边有一个名为Form1的表单,而Google给你的代码里边也有一个form了,form是不能够嵌套的。

5,改造一下google给你的代码,去掉那个form标签(别忘了结束的</FORM>标签也得去掉),在静态新闻/声明中加入下面一段脚本(必须加在google的代码之前)
<script language="javascript">
function on_search_click(){
 Form1.action = "http://www.google.com/custom/";
 Form1.target = "_blank";
 Form1.method = "get";
}
</script>
然后给submit按钮(就是那个Google Search按钮)加上onclick事件:onclick="javascript:on_search_click()"。
好了,当点击查询的时候,Form1表单的提交方向就改变了。

6,修改一下查询块的界面外观。
因为google给你的代码或许不能融合到你的页面风格当中,甚至因为文本输入框太长而撑坏你的leftmenu。你需要对这些代码做一些修改。去掉不需要的图片,改变文本框的长度。除了那些form对象外,比如input和button之类的元素不能够去掉之外,其他的那些google图片和表格都可以去掉,你还可以修改表单对象的样式。

现在好了,你的blog站内搜索引擎可以使用了。:)

最后我的修改如下

<script language="javascript">
function on_search_click(){
 Form1.action = "http://www.google.com/custom/";
 Form1.target = "_blank";
 Form1.method = "get";
}
</script>
<!-- Search Google -->
<center>
<table cellspacing="0" border="0">
<tr><td>Google 查询:</td></tr>
<tr valign="top"><td>
<input type="text" name="q" maxlength="255" value="" style="width:130px;border:3px double #cecece;">
<input type="submit" name="sa" value="Search" onclick="javascript:on_search_click()">
<input type="hidden" name="cof" value="AH:center;AWFID:3182aae82da4ddf8;">
<input type="hidden" name="ie" value="GB2312">
<input type="hidden" name="oe" value="GB2312">
<input type="hidden" name="domains" value="blog.csdn.net"><br>
<input type="radio" name="sitesearch" value=""> By WWW
<input type="radio" name="sitesearch" value="blog.csdn.net" checked="checked"> By Me
</td></tr></table>
</center>
<!-- Search Google -->
<br>

抱歉!评论已关闭.