欺骗 javascript 代码以为它具有焦点 window?

Tricking a javascript code to think it has a focused window?

如何使 javascript 代码认为它具有焦点 window(但实际上它没有焦点 window)?

-

已编辑:我认为通过使用 page-mod(在 Firefox 扩展中)我们可以将 CSS 注入页面

在 firefox 插件中,如果要设置 window 的 :focused css 伪 class,获取 DOMWindow 并使用 iniDOMUtils addPseudoClassLock 的方法:

var inIDOMUtils = Components.classes["@mozilla.org/inspector/dom-utils;1"].getService(Components.interfaces.inIDOMUtils);
var win = Services.wm.getMostRecentWindow('navigator:browser');
inIDOMUtils.addPseudoClassLock(win, ':focused');

要删除它,请使用 removePseudoClassLock

如果你是 Firefox 插件开发者,下面的注释是常识,但我会提到它以防你不熟悉 Firefox 插件开发者:

这是特权代码,因此您必须从特权范围内 运行 它。显然,您不能 运行 在内容脚本中使用此代码(因为这等同于 运行 在网页范围内使用它)。