javascript - IE window.open 在第二个 session 上打开一个具有第一个 session ID 的窗口

标签 javascript asp.net internet-explorer sessionid

我有一个 asp.net 应用程序,我需要同时运行两个 session 。

我还在我的一些页面上使用windows.open,这就是我的问题开始的地方。如果我在 session 二中的一个页面中以 JavaScript 调用 windows.open 时正在运行两个 session ,则新窗口将使用 session 一中的 session ID 来打开。

我还应该补充一点,第二个 session 是使用下面的代码在不同的 IE 实例中创建的。

var myshell = new ActiveXObject("Shell.Application");

if (parseFloat(ieVersion) >= 8) {
    myshell.ShellExecute("iexplore.exe", "-noframemerging " + url, "", "open", 1);
}
else {
    myshell.ShellExecute("iexplore.exe", url, "", "open", 1);
}

最佳答案

我知道为什么会这样,但我发现了问题......

从 IE 的第二个实例打开的新窗口未正确加载,并在 IE 的第一个实例上渲染回来。

打开窗口的 JavaScript 很简单: window.open(the_url, "DisplayWindow", 选项);

这在第一个 IE 实例上工作得很好,在某些运行 Windows 7 和 IE 9 的计算机上,它可以在第二个 IE 实例上打开一个窗口,但对于运行相同设置的其他计算机来说,这不起作用!

解决方案很简单,删除窗口名称即可。
window.open(the_url, "", 选项);

我还发现了类似的问题,在 IE9 中,如果窗口名称包含空格,窗口将无法打开!因此,如果您遇到类似问题,请尝试更改窗口名称或将其删除。

关于javascript - IE window.open 在第二个 session 上打开一个具有第一个 session ID 的窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10942206/

相关文章:

javascript - 如果数组结束javascript,则从头开始切片

html - 如何调整CSS在IE 6中正确显示?

asp.net - 我删除了 web.config,如何重新创建?

c# - asp.net 身份 SetEmailConfirmedAsync

c# - 全局范围内的 .NET session 替代方案

javascript - IE中的Ajax建议列表问题

javascript - IE 中的 InnerHTML/outerHTML 不反射(reflect)复选框状态,但在怪癖模式下除外

javascript - 同时在Mongoose中搜索多个值

javascript - 顶部和底部凹陷的 svg

javascript - 在 JavaScript 中使用 osmtogeojson 处理来自 Overpass API 的数据