Google CSE 两页 Return 到搜索结果?
Google CSE Two-Page Return to search results?
我使用 Google 开发人员控制台向我的站点添加了 Google 自定义搜索引擎(我自己没有编写 API 代码)。我使用了双页选项并成功地搜索到 运行 并在第二页上显示搜索结果。但是,当我单击其中一个搜索结果然后想要 返回搜索结果页面 时,它会转到我网站的根页面。
我想出了一个准解决方案:当我尝试返回搜索结果页面时,搜索结果页面的 URL 是 siteroot/#gsc.tab=0&gsc.q=happy %20生日&gsc.sort=日期;如果我手动编辑它并在查询之前添加页面名称,那么它看起来像这样:siteroot/searchresults.cfm#gsc.tab=0&gsc.q=happy%20birthday&gsc.sort=日期,然后结果将再次加载。所以我添加了一些 javascript 以手动将 searchresults.cfm 添加到查询字符串 onload 并且(通常)工作。但是,如果用户转到搜索结果的第 2 页或第 3 页或切换排序类型,它就会停止工作。
我环顾了不同的网站,似乎没有其他人有这个问题;我查看了很多关于如何添加搜索引擎的网站,它们都提供了我添加搜索引擎所遵循的说明。
有什么建议吗?我包含了以下代码:
<div id = "searchOuter"><script>
(function() {
var cx = 'xxxxxxxxxxxxxxxxx:xxxxxxxxxx';
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>
<gcse:searchbox-only enablehistory = "true" resultsURL="searchResults.cfm" enableAutoComplete="true" enableOrderBy="true"></gcse:searchbox-only></div>
在 SearchResults.cfm 页面上:
<div> <script>
(function() {
var cx = '009457464603814366938:w0ppnk90w6m';
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>
<gcse:search enablehistory = "true" enableAutoComplete="true" enableOrderBy="true"></gcse:search></div>
我找到了我自己的问题的答案。事实证明,CSE 'enable search results browsing history' 功能中存在错误。我通过进入控制台 -> 搜索功能 -> 高级 -> 结果浏览历史并选择 'Disable' 来关闭它。然后我在我网站的搜索框代码中插入以下内容:enablehistory = "false"
之后,查询停止并附加了 gsc.tab=0 等,返回搜索结果页面工作正常,但搜索结果页面上的链接开始在新选项卡中打开。所以我插入了以下内容以保持它们在同一个选项卡中打开:
linktarget="_self"
。我网站上的最终搜索框代码为:<gcse:search enableAutoComplete="true" enablehistory = "false" enableOrderBy = "true" linktarget="_self"></gcse:search>
希望这对其他人有帮助。祝你好运!
我使用 Google 开发人员控制台向我的站点添加了 Google 自定义搜索引擎(我自己没有编写 API 代码)。我使用了双页选项并成功地搜索到 运行 并在第二页上显示搜索结果。但是,当我单击其中一个搜索结果然后想要 返回搜索结果页面 时,它会转到我网站的根页面。 我想出了一个准解决方案:当我尝试返回搜索结果页面时,搜索结果页面的 URL 是 siteroot/#gsc.tab=0&gsc.q=happy %20生日&gsc.sort=日期;如果我手动编辑它并在查询之前添加页面名称,那么它看起来像这样:siteroot/searchresults.cfm#gsc.tab=0&gsc.q=happy%20birthday&gsc.sort=日期,然后结果将再次加载。所以我添加了一些 javascript 以手动将 searchresults.cfm 添加到查询字符串 onload 并且(通常)工作。但是,如果用户转到搜索结果的第 2 页或第 3 页或切换排序类型,它就会停止工作。 我环顾了不同的网站,似乎没有其他人有这个问题;我查看了很多关于如何添加搜索引擎的网站,它们都提供了我添加搜索引擎所遵循的说明。
有什么建议吗?我包含了以下代码:
<div id = "searchOuter"><script>
(function() {
var cx = 'xxxxxxxxxxxxxxxxx:xxxxxxxxxx';
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>
<gcse:searchbox-only enablehistory = "true" resultsURL="searchResults.cfm" enableAutoComplete="true" enableOrderBy="true"></gcse:searchbox-only></div>
在 SearchResults.cfm 页面上:
<div> <script>
(function() {
var cx = '009457464603814366938:w0ppnk90w6m';
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>
<gcse:search enablehistory = "true" enableAutoComplete="true" enableOrderBy="true"></gcse:search></div>
我找到了我自己的问题的答案。事实证明,CSE 'enable search results browsing history' 功能中存在错误。我通过进入控制台 -> 搜索功能 -> 高级 -> 结果浏览历史并选择 'Disable' 来关闭它。然后我在我网站的搜索框代码中插入以下内容:enablehistory = "false"
之后,查询停止并附加了 gsc.tab=0 等,返回搜索结果页面工作正常,但搜索结果页面上的链接开始在新选项卡中打开。所以我插入了以下内容以保持它们在同一个选项卡中打开:
linktarget="_self"
。我网站上的最终搜索框代码为:<gcse:search enableAutoComplete="true" enablehistory = "false" enableOrderBy = "true" linktarget="_self"></gcse:search>
希望这对其他人有帮助。祝你好运!