Пользовательский поиск Google и передача переменных строки запроса - PullRequest
1 голос
/ 05 февраля 2011

Я работаю над проектом веб-приложения, которое разрабатывалось долгое время. Приложение имеет две стороны, большая часть сайта общедоступна. Однако есть разделы, которые требуют, чтобы пользователь вошел в систему, прежде чем он сможет получить доступ к определенному контенту.

Когда пользователь входит в систему, он получает идентификатор сеанса (GUID), который хранится в таблице в базе данных, которая отслеживает всю сортировку данных о пользователе и его активности.

Каждая страница приложения была написана, чтобы посмотреть, существует ли эта переменная идентификатора сеанса в строке запроса. Если пользователь пытается получить доступ к одной из этих защищенных областей, приложение проверяет, находится ли эта переменная сеанса в строке запроса. Если это не так, они перенаправляются на экран входа в систему.

В процессе перемещения сайта пользователь плавно перемещается из охраняемых районов в незащищенные зоны, туда и обратно и т. Д.

Итак, мы выполнили тестовый запуск с пользовательским поиском Google, и он отлично справился с задачей, подбирая весь наш динамический контент в этих общедоступных местах. Однако мы не смогли выяснить, как передать идентификатор сеанса вместе с результатами поиска ЕСЛИ , когда пользователь уже вошел в систему.

Можно ли передавать переменные строки запроса, которые уже существуют в URL, вместе с результатами поиска?

Ответы [ 2 ]

0 голосов
/ 08 февраля 2012

Используйте функцию parseQueryFromUrl

function parseQueryFromUrl () {
    var queryParamName = "q";
    var search = window.location.search.substr(1);
    var parts = search.split('&');
    for (var i = 0; i < parts.length; i++) {
      var keyvaluepair = parts[i].split('=');
      if (decodeURIComponent(keyvaluepair[0]) == queryParamName) {
        return decodeURIComponent(keyvaluepair[1].replace(/\+/g, ' '));
      }
    }
    return '';
  }

Выберите опцию ТОЛЬКО РЕЗУЛЬТАТЫ в Look & Feel, и она предоставит вам код. www.google.com / CSE /

0 голосов
/ 05 февраля 2011

Насколько я знаю, это невозможно. Google не дает вам возможности изменять URL-адреса результатов поиска в их пользовательском поиске.

Возможное решение - хранить ваш Session-Key в Cookie, а не передавать его с каждым URL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...