因此,在我使用google自定义搜索引擎的网站上,当我搜索示例“youtub”而不是“youtube”时,它作为建议显示(显示youtube的结果-
改为搜索youtub)或(您的意思是:youtube)
因此,当我单击YouTube文本时,我想在搜索框中添加它,我该怎么做?这是我的代码
searchbox .html
<form action="" method="GET" id="searchform">
<input required="" type="search" name="q" id="searchbox" placeholder="Search..." title="Search..." enableAutoComplete="true" autofocus/>
<button><div class="Search-Button"><img src="MYIMGHERE" class="search-png"/></div></button>
</form>
.js
<script type="text/javascript">
(function() {
var cx = '007072537540236505002:fsvzbpwgtgc';
var gcse = document.createElement('script');
gcse.type = 'text/javascript';
gcse.async = true;
gcse.src = 'https://cse.google.com/cse.js?cx=' + cx;
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(gcse, s);
})();
var urlParams = new URLSearchParams(window.location.search);
document.getElementById('searchbox').value = urlParams.get('q');
</script>
<gcse:searchresults-only linktarget="_self"></gcse:searchresults-only>
我的问题不是很清楚,因为我找不到正确的单词!我为此感到抱歉。
最佳答案
请求的新youtube
搜索不会直接进入用户搜索框,因为它不知道如何处理Google返回的JSON文件。
相反,您需要实现Google自己的搜索框和searchresults组件,可以通过多种方式来实现。
Google自己关于该主题的教程here解释了各种选项,并提供了jsFiddle示例的链接,即:
<gcse:search></gcse:search>
<gcse:searchbox></gcse:searchbox>
and <gcse:searchresults></gcse:searchresults>
<gcse:searchbox-only></gcse:searchbox-only>
取决于您想要的整体效果。因此,例如,您需要在HTML中添加
<gcse:search></gcse:search>
,其余的工作由Google的API完成。请注意,如果您要查找的是最后一个示例,则不会自动将文本替换为自动提示的文本。
就这么简单!
有关如何将它们全部组合在一起的更详细的技术说明,请参见:Custom Search JSON API。