IE 窗口.在第二个会话时打开 打开一个具有第一个会话 ID 的窗口

IE window.open on second session opens a window with first session id

本文关键字:会话 窗口 一个 第一个 ID 第二个 IE      更新时间:2023-09-26

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

我也在我的一些页面上使用windows.open,这就是我的问题开始的地方。如果我在第二个会话中的一个页面调用 JavaScript 中的windows.open时有两个会话正在运行,则新窗口将打开,其中包含会话 1 中的会话 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);
}
我知道

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

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

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

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

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

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