如何让 window.focus() 在 Firefox 中工作 [重复]

Posted

技术标签:

【中文标题】如何让 window.focus() 在 Firefox 中工作 [重复]【英文标题】:How to get window.focus() to work in firefox [duplicate] 【发布时间】:2014-03-29 22:19:47 【问题描述】:

有人知道如何在 FireFox 中使用 window.focus() 吗? (27.0.1)。 我已经尝试了所有 about:config 设置,但仍然没有运气。

我的代码如下所示:

var wi = window.open('myUrl');
wi.focus();

== 编辑 ==

我正在尝试在我的机器上的 FireFox 中进行这项工作,不适用于任何其他用户,所以请 避免标准“让您的用户决定”或“这取决于用户的设置”作为 我想让它为本地项目工作:)

【问题讨论】:

***.com/questions/2533305/… 旧帖子,给定的答案甚至不再可能,因为该选项已从许多选项中剥离。它现在是一个 about:config 标志,我已经尝试过了,仍然没有运气 【参考方案1】:

根据 Mozilla 的 Window.focus 规范,这是不可能的。这取决于用户的设置。

请求将窗口置于前面。 可能由于用户设置而失败,并且在此方法返回之前,不能保证窗口位于最前面。

【讨论】:

这就是为什么我专门询问如何让它在 FireFox 中工作,正如我在问题中已经说过的那样,似乎没有任何设置对我有用。 好的,我误解了你的问题。对不起【参考方案2】:

工具 > 选项、内容区域、“启用 javascript”右侧的“高级”按钮应为您提供允许此行为的选项。如果您使用的是 Linux,导航可能会略有不同。

请注意,允许用户选择应聚焦的窗口通常被认为是最佳做法。

编辑:

这是关于:您所指的配置:dom.disable_window_flip

在 FF 27.0.1 中,我可以通过向 window.open 提供窗口名称和选项参数,然后调用焦点来打开一个具有焦点的新窗口。

var wi = window.open('http://www.google.com', 'window_name', 'height=200,width=200');
wi.focus();

此处示例:http://jsfiddle.net/CLVh2/

有关 Chrome 支持,您需要查看:Google Chrome "window.open" workaround?

编辑:标签支持

如果您想打开一个选项卡并将该选项卡焦点放在 FF (27.0.1) 中,并且简单地调用 window.open('url') 不会给您想要的结果,请尝试检查“当我打开一个新标签,立即切换到它”选项。它可以在工具 > 选项 > 选项卡中找到

【讨论】:

这个设置已经不存在了,它现在是一个 about:config 标志(window.flip..something),我已经启用了......仍然没有运气! @KevinOpdenKamp 我已经更新了我的答案。 这似乎适用于窗口但不适用于标签,对此有什么想法吗?不过感谢答案,它让我意识到将焦点放在选项卡上绝对不同于将焦点放在新窗口上! @KevinOpdenKamp 我已经用另一个建议更新了我的答案。 遗憾的是对我来说仍然没有奇迹,但这个答案几乎总结了你可以用 FF 做的所有事情,谢谢 :)

以上是关于如何让 window.focus() 在 Firefox 中工作 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

Blazor Web Assembly 中的 window.focus/blur 事件

Fire TV / Fire OS 的 Google 登录

如何在 Fire Phone 上启用开发者选项和 ADB?

如何使 WPF 窗口在任务栏上闪烁?

如何在 Fire Base 中使用完成处理程序

如何在主屏幕上设置 Fire TV“图标”?