第二个会话中的IE window.open打开一个第一个会话ID的窗口

时间:2012-06-08 01:58:31

标签: javascript asp.net internet-explorer sessionid

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

我也在我的某些页面上使用windows.open,这就是我的问题开始的地方。如果我在会话二中的某个页面中使用JavaScript调用windows.open时有两个会话正在运行,则会打开一个新窗口,其中会话ID来自第一个会话。

我还应该补充说,第二个会话是使用下面的代码在不同的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);
}

1 个答案:

答案 0 :(得分:0)

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

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

打开窗口的JavaScript只是: window.open(the_url,“DisplayWindow”,选项);

这适用于IE的第一个实例,并且在一些运行Windows 7和IE 9的计算机上,它可以在IE的第二个实例上打开一个窗口,但对于运行相同设置的其他计算机,这只是dosnt工作!

解决方案就是删除窗口名称 window.open(the_url,“”,option);

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