从文本链接调用Google自定义搜索叠加层

时间:2013-10-07 01:52:32

标签: javascript html hyperlink google-custom-search

我正在使用新版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网站和论坛,但似乎找不到任何东西。感谢您的任何见解。

2 个答案:

答案 0 :(得分:0)

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

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

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

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

答案 1 :(得分:0)

应使用此/?q=$mysearchterms

设置您的HREF

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

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; }