Google自定义搜索和传递Querystring变量

时间:2011-02-05 17:35:13

标签: google-app-engine

我正在开发一个已经开发很长时间的Web应用程序项目。该应用程序有两个方面,该网站的大部分是公共访问。但是,有些部分要求用户在访问某些内容之前登录。

当用户登录时,他们会获得一个存储在数据库中的表中的sessionid(GUID),该表跟踪有关用户及其活动的数据的所有排序。

编写应用程序的每个页面以查看查询字符串中是否存在此会话标识变量。如果用户尝试访问其中一个受保护区域,则应用程序会检查此会话变量是否在查询字符串中。如果不是,则会将其重定向到登录屏幕。

网站移动流程让用户无缝地从安全区域移动到非安全区域,来回等等。

因此,我们使用Google自定义搜索进行了测试,并且在这些公共区域中获取所有动态内容的工作非常棒。但是,我们无法弄清楚如何传递sessionid以及用户已登录的搜索结果 IF

是否可以传递网址中已存在的查询字符串变量以及搜索结果?

2 个答案:

答案 0 :(得分:0)

据我所知,这是不可能的。 Google不会为您提供修改自定义搜索中搜索结果的网址的可能性。

一种可能的解决方案是将Session-Key存储到Cookie中,而不是将其传递给每个URL。

答案 1 :(得分:0)

使用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&amp; amp;中选择仅结果选项。感觉它将为您提供代码。 www.google.com/cse/