从IE11打开初始新标签(目标_blank)时,我遇到了一些问题。
当我关闭IE11的所有实例然后打开一个全新的浏览器并导航到测试网页(default.aspx)时,该页面会在会话中存储一个值并在页面上显示会话ID。如果我刷新页面,会话ID保持不变。该页面有一个自身链接(default.aspx),目标为_blank。如果单击此链接,将打开一个新选项卡,但会话ID不同。如果我然后刷新原始窗口,则会话ID现在与新窗口匹配。
<%@ Page Language="C#" AutoEventWireup="true" Inherits="System.Web.UI.Page" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<% Session["StoredValue"]="Test"; %>
<div>SessionID: <%=Session.SessionID%></div>
<a href="/default.aspx" target="_blank">New Window</a>
<a href="http://www.google.com" target="_blank">3rd Party Window</a>
</body>
</html>
看来这个问题只发生在新标签中打开的同一个域的第一个窗口上(我已经验证了target =“_ blank”的问题,并且在点击链接时按住CTRL)。
我认为这是一个客户端问题,但该网站是在安装了.NET 4.51的4.0集成网站中从Windows Server Standard 2008 R2 SP 1运行的(也尝试过只安装了4.5)。
客户端是Windows 7 64位运行IE11(11.0.9600.16476)。我已经在IE11上运行Windows 7的其他计算机上验证了该问题,并确认在桌面模式下Windows 8中的IE10不是问题。在Chrome和Firefox中,一切都按预期工作。
我已经确认问题仍然存在,即使我:
有什么想法吗?还有其他人看过这个问题或者类似的吗?
答案 0 :(得分:4)
根据微软的说法,这是一个活跃的错误。显然没有服务器端方法来解决这个问题。
答案 1 :(得分:2)
不是解决方案,而是线索: 我们注意到了类似的行为,并将其跟踪到root / browserconfig.xml请求,导致用户无法进行身份验证。服务器发送了一个新的会话cookie,因为Windows没有发送现有的cookie。随后的请求然后发送新的会话cookie值。我们更改了服务器以查找此请求,而不是设置响应cookie。
答案 2 :(得分:0)
这不是解决方案,但是:
尝试单击鼠标中键。如果那对您有用100%的时间(对我有用)
js: links with target='_blank' on ie remove defaultBehaviour and trigger middle click.
问题解决了。
答案 3 :(得分:-1)
我的登录时遇到同样的问题,但我们尝试通过更改IE11或其他有问题的浏览器中的某些设置来解决此问题。
转到工具=&gt;互联网选项=&gt;隐私 单击“站点”按钮。添加mydomain.com&amp;单击“允许”按钮。 重新启动浏览器。