window.open在IE8保护模式下返回null

我试图捕捉window.open()的返回值,但它返回null / undefined。 IE8保护模式打开时会发生这种情况。 是否有任何获得window.open()返回的对象,而不禁用IE8中的保护模式altenative?

您正在尝试执行其中一项保护模式专门用于停止…

从微软开放的方法 :

从应用程序(而不是Internet Explorer进程)打开一个新的窗口可能会导致返回空值。 出现此限制是因为Internet Explorer在默认情况下以保护模式运行。 保护模式的一个方面是防止应用程序在访问跨越进程边界时对Internet Explorer进行特权访问。 使用此方法打开一个新窗口会生成一个新的过程。 有关保护模式的更多信息,请参阅了解和使用保护模式Internet Explorer 。 这通常发生在承载WebBrowser控件的应用程序中。

如果你正在寻找一种类似的方法,那么我们需要知道你在做什么以及你如何使用window.open。

这很可能是一个特定于程序设计的问题,这对于SU来说是一个无关紧要的问题。