【问题标题】:How do I open a new window with javascript and use the parent window's existing session?如何使用 javascript 打开一个新窗口并使用父窗口的现有会话?
【发布时间】:2010-01-09 03:10:04
【问题描述】:

我正在使用window.open 打开一个窗口,并且我正在丢失服务器会话。 有没有办法用 Javascript 打开一个窗口并使用同一个会话?

我需要这个在 IE 7 及更高版本中工作。

我在服务器端使用 ASP.NET。服务器没有无会话 cookie 状态。 <sessionState mode="InProc" timeout="15" />

【问题讨论】:

    标签: asp.net javascript session window


    【解决方案1】:

    您似乎已启用无 cookie 会话状态。

    ASP.NET 的方法类似于 Pekka 提到的 PHP 方法,但您需要调用

    window.open("/(S(<%= Session.SessionID %>))/NewPage.aspx");
    

    或者更改您的 web.config 以强制使用 cookie 进行会话。

    【讨论】:

    • 这很奇怪......它正在使用cookies
    【解决方案2】:

    我不知道您使用的是哪种服务器端语言,但通常,您可以使用 GET 参数将会话填充到新窗口中。

    在 PHP 中,你可以这样使用:

    window.open("newurl.php?PHPSESSID=<? echo session_id(); ?>");
    

    认为 PHP 使用它以这种方式获得的 ID 继续会话(实际上从未尝试过,但应该可以工作)。如果没有,您将检查 GET 变量是否存在,并使用 session_id() 将会话 ID 强制到脚本上,并将 ID 作为参数 before session_start()

    【讨论】:

      猜你喜欢
      • 2011-08-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-05
      • 1970-01-01
      相关资源
      最近更新 更多