我正试图在同一页面上实现两个(不同的)Google CSE搜索框。问题是只有第一个实例才能正常工作。例如,标题中的网站范围搜索框,然后是特定页面上的第二个搜索框,该搜索框在网站的狭窄筒仓内搜索等。同一页面上多个Google CSE(自定义搜索引擎)框
这不能正常工作,因为使用谷歌生成的代码为每个框,他们都获得相同的表单ID,这显然是无效的。这会导致谷歌水印品牌未能出现在方框#2中,并且一些auto/google生成的变量也无法为第二个方框生成,例如ss参数(搜索会话)。
现在,搜索本身在两个框中工作,例如,用户搜索,以纠正结果页面,并显示正确的结果。
我只是想解决这个问题:我怎样才能让第二种形式获得不同的ID值(并且仍然正常工作 - 正如谷歌的javascript寻找ID cse-search-box
)我已经尝试添加一个唯一的标识符在<form>
元素的ID和NAME属性,但是这引起了google.com JavaScript出现(因为我相信它会查找`CSE-搜索框”只)
代码如下:
搜索框1:
<form id="cse-search-box" name="cse-search-box" class="search searchHeader" method="get" action="/search">
<input type="hidden" name="cx" value="partner-pub-0000000000000000:000" />
<input type="hidden" name="cof" value="FORID:10" />
<input type="hidden" name="ie" value="UTF-8" />
<input type="text" name="q" id="q" class="text_input" />
<input type="submit" name="sa" value="Search" class="submit" />
</form>
<script type="text/javascript" src="http://www.google.com/coop/cse/brand?form=cse-search-box&lang=en"></script>
搜索框2:
<form id="cse-search-box" name="cse-search-box" class="search searchWebDirectory" method="get" action="/search">
<input type="hidden" name="cx" value="partner-pub-0000000000000000:111" />
<input type="hidden" name="cof" value="FORID:10" />
<input type="hidden" name="ie" value="UTF-8" />
<input type="text" name="q" id="q" class="text_input" />
<input type="submit" name="sa" value="Search" class="submit" />
</form>
<script type="text/javascript" src="http://www.google.com/coop/cse/brand?form=cse-search-box&lang=en"></script>
了这是你要找的东西?有没有其他方法可以帮助你或者澄清我的答案? – 2013-04-01 17:18:03
正是我在找的东西。谢谢。 – GWR 2013-04-01 21:18:22
不是问题!顺便提一下CSE API。您可能会喜欢额外的自定义选项! – 2013-04-01 21:36:12