Я добавил Google Custom Search Engine на свой сайт с помощью консоли разработчика Google (я сам не кодирую API). Я использовал вариант с двумя страницами и добился успеха в поиске и просмотре результатов поиска на второй странице. Однако, когда я нажимаю на один из результатов поиска, а затем хочу вернуться назад на страницу результатов поиска, он переходит на корневую страницу моего сайта. Я придумал квази-решение: когда я попытаюсь вернуться на страницу результатов поиска, URL-адрес страницы результатов поиска будет siteroot/# gsc.tab = 0 & gsc.q = happy% 20birthday & gsc.sort = дата; Если я вручную отредактирую это и добавлю имя страницы перед запросом, это выглядит так: siteroot/searchresults.cfm # gsc.tab = 0 & gsc.q = happy% 20birthday & gsc.sort = date, то результаты будут снова загрузите. Поэтому я добавил несколько javascript, чтобы вручную добавить searchresults.cfm в строку запроса onload и работает (как правило). Однако, если пользователь переходит на вторую или третью страницу результатов поиска или переключает тип сортировки, он перестает работать. Я огляделся по сторонам на разных сайтах, и ни у кого больше нет такой проблемы; Я просмотрел многие сайты о том, как добавить поисковую систему, и все они дают инструкции, которые я выполнил, чтобы добавить это.Google CSE Two-Page Вернуться к результатам поиска?
Любые советы? Я включил код ниже:
<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>