c# - 用户打开您网站的多个窗口,您能否识别每个窗口

标签 c# javascript

我试图弄清楚您是否可以识别用户可能打开同一站点的多个窗口。所以我想将初始窗口命名为window1。如果他们打开一个新窗口,我希望将其命名为 window2。

有办法做到这一点吗?这是一个 .Net 应用程序。

最佳答案

想法:

我不相信您可以在一个浏览器中找出应用程序的多个窗口。由于资源是共享的,用户可以在 Chrome 中打开您的应用程序的 10 个选项卡,而您却不会知道。

但是,如果您的用户接下来要打开 Internet Explorer 选项卡,那么此时将会发生多个 session 。根据您存储 session 状态的方式,您应该能够访问该信息。

如果您使用相同的浏览器, session ID 将相同。

如果您使用不同的ID,它们将具有不同的ID。

在每次页面加载时,浏览器都会发送此 ID。

在一个选项卡中登录 Facebook 或 Gmail,然后打开另一个选项卡。您是否需要重新登录?

测试:

在 Chrome 中,这很容易找到。按 F12 -> 资源选项卡 -> Cookie -> 您的应用程序 -> session ID。

“SessionID 值由 ASP.NET 随机生成,并存储在浏览器中不会过期的 session cookie 中。” <-- Chrome 是这样告诉您的。

打开多个选项卡,你会看到ID没有改变。

打开多个浏览器,您将看到它在浏览器上运行。

建议:

我的建议是阅读 session 状态。 :)

A MSDN resource on SessionID.

关于c# - 用户打开您网站的多个窗口,您能否识别每个窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22336678/

相关文章:

c# - C# 中抛出 TypeCast 运算符异常

c# - 使用 Uri 创建时,新 Runspace 对象的 SessionStateProxy 属性为空

javascript - 为什么我无法将导航栏居中?

javascript - 如何在不循环的情况下从函数参数中指定的json数组中获取key?

javascript - 如何根据下拉选择显示值

c# - 在开始新的之前取消音频剪辑?

c# - "using"类型别名指令在同一个命名空间中不起作用

c# - 与存储过程一起使用时,Linq to SQL 是否快速?

javascript - 通过单击元素内的 anchor 或包含 div id 的任何位置将元素滚动到页面顶部

java - 使用 java swing 创建与 Oracle 10g 的 JDBC 连接