Javascript 打开新窗口时是否可以删除父窗口?

Javascript 打开新窗口时是否可以删除父窗口?,javascript,internet-explorer,infragistics,Javascript,Internet Explorer,Infragistics,我遇到了一个问题,当鼠标悬停在主应用程序的窗口上时,它会自动激活 我使用下面的行在javascript函数中打开新窗口: window.open(URL, 'Requests', 'location=no,toolbar=no,status=yes,scrollbars=yes,resizable=yes'); 我注意到,如果我通过资源管理器打开一个新的IE窗口,将鼠标悬停在主应用程序窗口上不会重新激活自己。即使在这种情况下,主窗口也会使自己位于上面的window.open命令创建的弹出窗口的

我遇到了一个问题,当鼠标悬停在主应用程序的窗口上时,它会自动激活

我使用下面的行在javascript函数中打开新窗口:

window.open(URL, 'Requests', 'location=no,toolbar=no,status=yes,scrollbars=yes,resizable=yes');
我注意到,如果我通过资源管理器打开一个新的IE窗口,将鼠标悬停在主应用程序窗口上不会重新激活自己。即使在这种情况下,主窗口也会使自己位于上面的window.open命令创建的弹出窗口的“顶部”

问题是:在javascript中打开“子”窗口时,有没有办法将子窗口与父窗口分离?

进一步信息:我使用的是Infrastics WebDataMenu,ActivateOnHover设置为true,这样用户就不需要单击主菜单项来查看子菜单选项。不幸的是,该设置会使整个菜单栏敏感,因此在其中滑动鼠标会激活菜单(不幸的是,当弹出窗口处于活动状态时,会激活窗口)。这是我试图纠正的根本行为

窗口的
打开()
方法将创建一个弹出窗口,通过调用的返回值和弹出窗口上的
window.opener
属性,它实际上只通过JavaScript共享一个关系

您需要的是一个模式窗口的行为,当您处理“子”弹出窗口时,该窗口会锁定“父”页面的交互

您可以尝试通过强制将焦点放在弹出窗口上并阻止任何模糊来与JavaScript(以及您的用户)对抗,但这会让用户在想要阅读电子邮件时发疯(例如,不推荐)

您还可以使用不太标准的showModalDialog();方法,但支持还远未完全跨浏览器,如果您尝试使用此方法,会出现一大堆新问题(IE中没有右键单击,IE中没有缩放问题,并且没有孙辈弹出窗口等等)(同样不推荐)

您可以做的是制作一个类似于许多在线照片查看器的“覆盖”弹出窗口,首先覆盖一个遮罩(通常是半透明的),该遮罩阻止鼠标/焦点在下面的整个页面内容上,然后将其覆盖在“弹出内容”上。只需确保提供一个关闭选项,在覆盖关闭/完成时移除遮罩即可

注意:如果你需要支持IE6,你还需要一个iframe垫片(如果需要,谷歌)


许多UI框架都会为您提供这样的“对话框”。最后,我放弃了做这项工作。我发现我所要做的是从WebDataMenu中关闭ActivateOnHover,它没有回答这个问题,需要用户单击菜单使其下拉,但这成了一个解决办法。

@Dan因为您已经在使用NetAdvantage,如果您使用这种方法,您可以使用WebDialogWindow来提供您的对话框窗口:我不确定您可以控制多少,因为在同一个站点和另一个站点中打开页面时,使用相同的代码会得到不同的行为:window.open(“Default2.aspx”);窗口。打开(“);