javascript - 我究竟做错了什么?使用 NationBuilder 实现自定义 Google 搜索
问题描述
我已按照有关如何使用 NationBuilder 实施自定义 Google 搜索的所有说明(https://nationbuilder.com/implementing_a_custom_google_search_using_nationbuilder?page=2)
搜索栏出现在网站上,但没有出现搜索结果。(此处网站示例:https ://www.migraine.org.au/search )
我打算在此代码中进行自定义以实现结果吗?我添加了自定义搜索 ID,但我觉得我还必须更改其他内容:
<form method="get" action="/search">
<div class="row">
<div class="col-lg-6">
<div class="input-group">
<input name="q" type="search" placeholder="Enter keywords..." class="form-control" />
<span class="input-group-btn">
<input class="btn btn-primary" type="submit" value="SEARCH" />
</span>
</div>
</div>
</div>
</form>
<script type="text/javascript">
(function() {
function getUrlParameter(name) {
name = name.replace(/[\[]/, '\\[').replace(/[\]]/, '\\]');
var regex = new RegExp('[\\?&]' + name + '=([^&#]*)');
var results = regex.exec(location.search);
return results === null ? '' : decodeURIComponent(results[1].replace(/\+/g, ' '));
};
document.getElementsByName("q").forEach(function(el){el.value = getUrlParameter("q")});
var cx = '{% if custom_search_id and custom_search_id != "" %}{{ custom_search_id }}{% else %}008016235122236849965:29prjnksala{% endif %}';
var gcse = document.createElement('script');
gcse.type = 'text/javascript';
gcse.async = true;
gcse.src = (document.location.protocol == 'https:' ? 'https:' : 'http:') + '//cse.google.com/cse.js?cx=' + cx;
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(gcse, s);
})();
</script>
<div class="row">
<div class="gcse-searchresults-only" data-enableAutoComplete="true" data-safeSearch="active" data-as_sitesearch="{{ site.full_url | split:'//' | last | split:'/' | first }}" data-image_as_sitesearch="{{ site.full_url | split:'//' | last | split:'/' | first }}" data-enableImageSearch="false" data-disableWebSearch="false"></div>
</div>
解决方案
看起来 cx id 正在以某种方式连接起来。浏览器向https://cse.google.com/cse.js?cx=02a15aadc5f939bbe008016235122236849965:29prjnksala发出请求,返回 404 错误
有两个不同的 cx id(02a15aadc5f939bbe 和 008016235122236849965:29prjnksala)混合在一起
推荐阅读
- functional-programming - 可表达值与可表示值
- mysql - 如何访问 MySql 数据字典?
- visual-studio - 如何在 Visual Studio 中的 NuGet 包之前修改 .nuspec 文件
- python - 如何在python中查找和复制子目录的内容?
- javascript - 为什么 TypeScript 在编译时无法检测到不匹配的类型以及如何修复它?
- android - Android Retrofit2:如何为类别和子类别创建可扩展的回收器视图?
- linux - 在查询我的机器上本地运行的 DNS 服务器时,如何让 dig 使用 localhost 以外的源 IP?
- php - 从 URL 中批量删除查询字符串的组件
- java - 如何在 Spring java 中设置存储库?
- python-3.x - JSON 解析 - Python 代码抛出错误