1

是否可以使用 window.Open 函数在 JavaScript 中启动一个新窗口,然后将焦点设置到该选项卡?

这就是我今天正在做的事情:

            var winRef = window.open(outUrl,wName,'left='+ wX +',top=' + wY + ',height=' + wH + ',width=' + wW + args);
            try {
                // Not all window types support the focus() property.
                winRef.focus();
            }
            catch (exception) {
            }

窗口打开,但新选项卡没有获得焦点。

4

5 回答 5

4

杰伊,

您正在看到设计的行为。为了限制恶意行为的机会,在选项卡式窗口中运行的脚本不能影响其他选项卡。

有关详细信息,请参阅http://msdn.microsoft.com/en-us/library/ms537636.aspx上的面向开发人员的选项卡式浏览:

“在同一个浏览器窗口中打开多个文档的能力具有一定的实用性和安全性 [...] 活动选项卡(具有焦点的选项卡)不会受到在非活动或后台选项卡中运行的脚本的影响。”

BR。

于 2008-09-16T14:35:19.480 回答
1

作为用户,除非我特别要求,否则我从不希望应用程序(或选项卡)成为焦点。出于这个原因,我已经竭尽全力防止我的浏览器(Firefox)中的选项卡成为焦点。

于 2008-09-16T14:33:28.940 回答
1

我有理由确定您不能将焦点转移到另一个选项卡上。

我的理解是这样做是为了在一定程度上限制弹出窗口和其他恶意内容窃取用户的注意力。

于 2008-09-16T14:35:59.947 回答
1

如果另一个“选项卡”是您的应用程序的一部分(而不是来自其他站点的内容),也许您应该将其包含在主要内容之上的弹出 div 中,而不是在单独的窗口中;这样你就可以随时控制它的焦点,停用它下面的内容(对于模态对话框),隐藏它等等。

于 2008-09-16T22:50:09.417 回答
1

作为用户,我不应该能够控制它的运作方式吗?

如果有一个应用程序可以通过我想要运行的此功能得到增强,我不应该能够授予域该权限吗?

只是一个想法。

于 2009-02-13T18:06:23.413 回答