一直想给博客主页加上一个搜索功能,方便搜索功能。于是注意到CSDN的配置板块可以输入公告。公告内容可以是HTML和Javascript,应该说,这应该具备了在博客主页加载Google搜索功能的基本条件。于是,按照以下步骤,企图实现不果,发现了CSDN的一个Bug。
步骤1. 登录CSDN的Blog书写工具,点击配置选项卡
步骤2. 在公告中按照Google的指示输入如下内容:
<!-- Search Google -->
<center>
<form method="get" action="http://www.google.com/custom" target="_top">
<table bgcolor="#ffffff">
<tr><td nowrap="nowrap" valign="top" align="left" height="32">
<input type="text" name="q" size="31" maxlength="255" value=""></input>
</td></tr>
<tr><td valign="top" align="left">
<input type="submit" name="sa" value="Google 搜索"></input>
<input type="hidden" name="client" value="pub-9998836744800774"></input>
<input type="hidden" name="forid" value="1"></input>
<input type="hidden" name="ie" value="GB2312"></input>
<input type="hidden" name="oe" value="GB2312"></input>
<input type="hidden" name="cof" value="GALT:#008000;GL:1;DIV:#336699;VLC:663399;AH:center;BGC:FFFFFF;LBGC:336699;ALC:0000FF;LC:0000FF;T:000000;GFNT:0000FF;GIMP:0000FF;FORID:1;"></input>
<input type="hidden" name="hl" value="zh-CN"></input>
</td></tr></table>
</form>
</center>
<!-- Search Google -->
步骤3. 保存。点击博客主页。
步骤4. 在主页出现了预期Google搜索界面
步骤5. 输入一个想要查询的关键字,如“PHPUnit袖珍手册”。点击“Google 搜索”按钮
期望:
出现搜索结果。
实际:
博客主页页面刷新了一下,什么也没发生。
分析:
步骤1:查看博客主页源码,查看在公告栏中的内容是否在。查看结果,在,排除读取问题。
步骤2:查看Google搜索代码前后内容。发现有这么一段代码:
...
function showComment(){
return;
}
//-->
</script>
<form name="Form1" method="post" action="" id="Form1">
<div>
<input type="hidden" name="__VIEWSTATE" id="
__VIEWSTATE" value="" />
</div>
...
<!-- Search Google -->
...省略Google搜索引擎加载代码
<!-- Search Google -->
...
<a id="Footer1_Hyperlink3" NAME="Hyperlink1" href="http://ASP.NET"><img src="/images/PoweredByAsp.Net.gif" style="border-width:0px;" /></a>
<br />
Copyright © 萨默尔
</p>
</form>
<script language="javascript">
<!--
....
请注意红色斜体代码,是一个<form>对。但是没有action地址。因为这对<form>包裹在Google搜索引擎的<form>对外面,正是这段代码导致了Google搜索引擎失效。
从页面设计来看,这个<form>没有实现任何有意义的功能,应该是CSDN程序员修改程序时的笔误吧。希望CSDN有关人员能够迅速改正。