0

我不知道这种症状的确切原因,但这里有。在我们的网络应用程序中,我们调用window.open打开一个新窗口/选项卡(内部每个人都设置为在新选项卡中打开)。打开这个新标签后,IE8 立即将焦点切换到它。

然后我们集成了一个 Web 服务,所以我们调用这个 Web 服务,它反过来在它返回时调用一个回调 javascript 函数。我们现在window.open从回调函数内部调用。当我们这样做时,IE8 会打开新标签,但不会切换焦点。对父页面和子页面的调用window.focus什么都不做。

现在,我知道 javascript 不是线程化的,但这与异步性有关吗?有没有办法让浏览器按预期运行?

4

1 回答 1

2

我相信默认情况下,IE 只会将焦点切换到新选项卡,如果它是由于用户发起的操作(例如单击)而打开的。如果window.open调用不是对 UI 操作的响应,那么 IE 可能会在后台打开选项卡,就好像它是某种弹出窗口一样,尽管显然它没有被弹出窗口阻止程序阻止。

如果您在 Intranet 环境中并且可以指定设置,您是否尝试在选项卡式浏览设置对话框中设置“创建时始终切换到新选项卡”复选框?

于 2010-07-20T01:56:22.950 回答