我的标题中有一个搜索栏和一个单独的搜索页面,
在搜索栏中执行搜索请求时。它返回一个看起来像'?q = querystring'的查询字符串,它自动将这个查询字符串链接到我的搜索页面。
问题
如何从地址栏中获取查询字符串并使用它来填写Google自定义搜索栏。
答案 0 :(得分:0)
你没有说明你使用的是什么,所以我会假设你想要最简单的方法:
如果您使用的是new Element API v2,那么您有两种方法可以处理2页搜索:
<强>的index.html 强>
<!-- GOOGLE SEARCH JS Search Only Implementation-->
<div>
<script>
(function() {
var cx = 'YOUR_API_KEY';
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);
})();
</script>
<gcse:searchbox-only resultsUrl="search.html"></gcse:searchbox-only>
</div>
<强> search.html 强>
<!-- GOOGLE SEARCH JS Implementation-->
<div>
<script>
(function() {
//Same code from Index.html
</script>
<gcse:search></gcse:search>
</div>
您可以在“索引”页面创建自己的搜索表单,在该页面上,它将使用您将在queryParameterName上挂钩的参数发送HTTP GET。这将在正在渲染的gsce元素中指定。示例网址为http://localhost:3939/search?search_term=Miku
<强>的index.html 强>
<form method="get" action="search.html" name="searchform" id="searchform">
<label for="words">Search:</label>
<input name="search_term" alt="Search_term" value="" size="16" id="words" type="text" accesskey="s">
<button type="submit" value="Submit" accesskey="g">Search</button>
</form>
<强> Search.html 强>
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<div>
<script>
(function() {
var cx = 'YOUR CSE KEY';
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);
})();
</script>
<gcse:search queryParameterName="search_term"></gcse:search>
</div>
</body>
</html>
根据我处理元素API v2的经验,这是少数可以在客户端自定义的公开钩子之一。另外,您应该在CSE页面上呈现自己的代码,然后添加 queryParameterName 。