Google CSE (система пользовательского поиска) — как определить термин, который ищет пользователь (с помощью jQuery)?

У меня есть встроенная Google CSE, использующая это:

google.load('search', '1', {language : 'en', style : google.loader.themes.SHINY});
google.setOnLoadCallback(function() {
var options = {};
options[google.search.Search.RESTRICT_EXTENDED_ARGS] = {'sort': 'date'};
var customSearchControl = new google.search.CustomSearchControl('',options);
customSearchControl.setResultSetSize(google.search.Search.FILTERED_CSE_RESULTSET);
customSearchControl.draw('cse');

Я хотел бы определить/отобразить поисковый запрос, который ищет пользователь, но я не могу получить поисковый запрос из ввода Google CSE после того, как пользователь нажмет «поиск».

Как я могу это сделать?


person Tobias Steele    schedule 14.12.2010    source источник


Ответы (2)


Это должно получиться:

var customSearchControl = new google.search.CustomSearchControl('your key');
customSearchControl.setResultSetSize(google.search.Search.FILTERED_CSE_RESULTSET);

// add this    
customSearchControl.setSearchStartingCallback(this,
        function(sc, searcher, query) {
            alert(query);
            // or do whatever you want with it here.
        }
);
person im_dbk    schedule 13.05.2011

Если условия поиска не будут доступны в возвращаемом заголовке, мне интересно, не можете ли вы получить доступ к фактическому запросу ajax, а затем использовать jquery для доступа к объекту заголовка. Я знаю, что при обычном поиске в Google ключевые слова передаются в заголовке.

person dstarh    schedule 14.12.2010
comment
Я довольно n00b, поэтому мой ответ будет ограниченным, но: я провел поиск и получил результаты. Я использовал Firebug для просмотра исходного кода страницы. Я нигде не нашел поисковый запрос. Это относится к вашему комментарию? - person Tobias Steele; 15.12.2010
comment
это будет в данных заголовка, возвращающихся из запроса ajax - person dstarh; 15.12.2010