0

我正在使用新风格的 Google 自定义搜索,它将您的搜索结果覆盖在当前页面上。

下面的代码创建了一个调用覆盖的搜索框。我想知道是否有任何方法可以创建一个文本链接,该链接也可以启动覆盖的结果,因为我们的一些文章有这样一行,例如“您可以随时在我们网站上的 [person] 上搜索更多参考资料。” 旧的两页 CSE 方法允许我们使用 /search.shtml?q=person 调用结果页面

<script>
(function() {    
var cx = 'myCSEidnumber';
var gcse = document.createElement('script');
gcse.type = 'text/javascript';
gcse.async = true;
gcse.src = (document.location.protocol == 'https:' ? 'https:' : 'http:') +
    '//www.google.com/cse/cse.js?cx=' + cx;
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(gcse, s);    
})();
</script>
<gcse:search></gcse:search>

我创建了一个这样的文本链接:/currentpage?cx=myCSEidnumber&amp;q=$mysearchterms

单击该链接不会创建结果叠加层。如果我复制该链接并在浏览器中重新输入它,它会弹出覆盖。

我搜索了 Google CSE 网站和论坛,但似乎找不到任何东西。感谢您的任何见解。

4

2 回答 2

0

您的 HREF 应使用此设置/?q=$mysearchterms

示例:在索引页面或任何其他页面上显示结果:

href="http://www.your-web-site.com/?q=$mysearchterms"
href="http://www.your-web-site.com/search/?q=$mysearchterms"
href="http://www.your-web-site.com/result.php?q=$mysearchterms"

然后您可以继续使用 css 隐藏输入字段。

.gsc-search-box { display:none; }
于 2015-03-12T14:26:53.277 回答
0

您的 url 中不需要 cx 参数,只需要 q 参数。但是,您确实需要链接目标页面中存在的元素才能显示叠加层。该元素将同时呈现覆盖和搜索框,但您可以使用 css 隐藏搜索框,例如:

.gsc-search-box {
    display:none;
}

下面是一个例子(虽然 jsfiddle 不会为你渲染 css,但你需要在你的页面上单独添加它):

http://jsfiddle.net/RDHS4/3/

于 2013-10-16T10:45:18.440 回答