Javascript 从文本链接调用Google自定义搜索覆盖

Javascript 从文本链接调用Google自定义搜索覆盖,javascript,html,hyperlink,google-custom-search,Javascript,Html,Hyperlink,Google Custom Search,我正在使用谷歌自定义搜索的新风格,将搜索结果覆盖在当前页面上 下面的代码创建了一个调用覆盖的搜索框。我想知道是否有必要创建一个文本链接,也可以启动覆盖结果,因为我们的一些文章有这样一句话:“你可以在我们的网站上搜索[person]的更多参考资料。”旧的两页CSE方法允许我们使用/search.shtml?q=person调用结果页 <script> (function() { var cx = 'myCSEidnumber'; var gcse = document.crea

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

下面的代码创建了一个调用覆盖的搜索框。我想知道是否有必要创建一个文本链接,也可以启动覆盖结果,因为我们的一些文章有这样一句话:“你可以在我们的网站上搜索[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>

(函数(){
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);
})();
我创建了如下文本链接:
/currentpage?cx=myCSEidnumber&;q=$mysearchterms

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


我搜索了谷歌CSE网站和论坛,但似乎什么也没找到。感谢您的帮助。

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

.gsc-search-box {
    display:none;
}
下面是一个示例(尽管JSFIDLE不会为您呈现css,但您需要在页面上单独添加它):


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

示例:要在索引页面或任何其他页面上显示结果,请执行以下操作:

href="http://www.your-web-site.com/?q=$mysearchterms"
然后,您可以继续使用css隐藏输入字段

.gsc-search-box { display:none; }
href="http://www.your-web-site.com/result.php?q=$mysearchterms"
.gsc-search-box { display:none; }