欺骗 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 插件开发者:
这是特权代码,因此您必须从特权范围内 运行 它。显然,您不能 运行 在内容脚本中使用此代码(因为这等同于 运行 在网页范围内使用它)。
如何使 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 插件开发者:
这是特权代码,因此您必须从特权范围内 运行 它。显然,您不能 运行 在内容脚本中使用此代码(因为这等同于 运行 在网页范围内使用它)。