1

我有一个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);
}
4

1 回答 1

0

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

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

打开窗口的javascript很简单:window.open(the_url, "DisplayWindow", option);

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

解决方案只是删除窗口名称。
window.open(the_url, "", 选项);

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

于 2012-07-05T01:59:22.067 回答