Javascript 在弹出窗口中丢失asp.net会话。仅适用于IE,仅适用于部分用户
我有一个带有集成iframe的asp.net网页。在这个iframe中,我调用window.open打开一个弹出窗口。弹出url是绝对的,但在同一个域中 对于大约1%使用Internet Explorer(多个版本)的用户,asp.net会话对象在弹出窗口中丢失(空) 我曾尝试收集设置信息以从一组用户中识别模式,但没有结果。有一种理论认为他们都是Citrix的客户,但事实并非如此Javascript 在弹出窗口中丢失asp.net会话。仅适用于IE,仅适用于部分用户,javascript,asp.net,session,iframe,Javascript,Asp.net,Session,Iframe,我有一个带有集成iframe的asp.net网页。在这个iframe中,我调用window.open打开一个弹出窗口。弹出url是绝对的,但在同一个域中 对于大约1%使用Internet Explorer(多个版本)的用户,asp.net会话对象在弹出窗口中丢失(空) 我曾尝试收集设置信息以从一组用户中识别模式,但没有结果。有一种理论认为他们都是Citrix的客户,但事实并非如此 有人经历过类似的事情并解决了它吗?我猜您的站点没有定义如何跟踪用户的有效标题,所以IE不会用http请求转发[ses
有人经历过类似的事情并解决了它吗?我猜您的站点没有定义如何跟踪用户的有效标题,所以IE不会用http请求转发[session]cookies 您可以通过在web.config中添加示例P3P头来验证这一点。您需要了解不同标记的含义,以及该示例标题是否与您的用例匹配,或者您是否需要创建自己的标记
<system.webServer>
<httpProtocol>
<customHeaders>
<add name="P3P" value="CP="NON COR CUR OUR BUS NAV"" />
</customHeaders>
</httpProtocol>
</system.webServer>
对于我们来说,有了相关的答案。在我们的例子中,使用的是Jetty Web服务器,所以要小心过滤
从桌面上指向网站的“常规”快捷方式启动浏览器。用IE8。(我没有找到我的MSDN参考,但我认为它只是Windows XP。)注意:Citrix用户经常被迫使用桌面上的链接。因此,这可能会解决Citrix部分的问题
这里有更多非常相似的问题。您是否查看了stackoverflow上的所有帖子,包括:
(这也是对IE7类似问题的回答:
)
(在第一个问题中也提到)是从模式弹出窗口或类似窗口打开弹出窗口的问题。IE 8测试版,所以可能不相关
(java库中的bug,因此可能也不相关)
如果让我总结一下:
有许多问题似乎与asp.net有共同之处。试着看一下
您说没有特定的Internet Explorer版本受到影响。这意味着,对于不同版本的IE,您可能会看到不同的问题
a) 我认为stackoverflow应该有很多答案
请遵循以下指南:
您应该构建自己的P3P策略
例如,如果您将其添加到Global.asax中,它将在IE8中工作:
protected void Application_BeginRequest(object sender, EventArgs e)
{
HttpContext.Current.Response.AddHeader("p3p", "CP=\"IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT\"");
}
但是不要只复制上面的示例,因为该策略必须在您的网站上反映您的实际隐私策略。否则,当浏览器验证您的内容/行为时,这可能会对以后的情况产生影响
没有人希望从某些浏览器供应商那里被列入黑名单,对吗?相同的域和相同的web应用程序?是的,相同的域和应用程序。