我有一个 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/