- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试在同一页面上实现两个(不同的)Google CSE 搜索框。问题是只有第一个实例可以正常工作。例如,标题中的全站搜索框,然后是某些页面上的第二个搜索框,用于在站点的狭窄筒仓内进行搜索,等等。
这不能正常工作,因为对于每个框使用 google 生成的代码,它们都获得相同的表单 ID,这显然是无效的。这会导致 google 水印品牌无法出现在第 2 个框中,并且某些自动/google 生成的变量也无法为第 2 个框生成,例如 ss 参数(搜索 session )。
现在,搜索本身在两个框中都有效,例如用户搜索,被带到正确的结果页面,并显示正确的结果。
我只是想解决这个问题:我怎样才能使第二个表单获得不同的 ID 值(并且仍然正常工作 - 因为谷歌的 javascript 查找 ID cse-search-box
)我已经尝试添加一个唯一标识符到<form>
的 ID 和 NAME 属性元素,但这导致 google.com javascript 出现故障(因为我相信它只查找“cse-search-box”)
代码如下:
搜索框 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>
最佳答案
发件人:http://www.google.com/cse/docs/cref.html
/coop/cse/brand中名为“form”的参数输出代码中的第一个getElementById。因此,使用 http://www.google.com/coop/cse/brand?form=cse-search-box&lang=en将创建一个 cse-search-box
目标代码,同时给它 box2
将在不同的 ID 上触发。保留关键字 searchbox_demo
。
如果您想尝试一下:http://jsfiddle.net/JTV6f/1/ .但是,考虑到您在做什么,如果我是您,我会切换到 V1 或 V2 API。
关于javascript - 同一页面上的多个 Google CSE(自定义搜索引擎)框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15589725/
我是一名优秀的程序员,十分优秀!