0
如何才能使JavaScript代码认为它有一个焦点窗口(但实际上它没有一个焦点窗口)?欺骗JavaScript代码,认为它有一个专注的窗口?
-
编辑:我想用page-mod(在Firefox扩展),我们可以注入CSS来
如何才能使JavaScript代码认为它有一个焦点窗口(但实际上它没有一个焦点窗口)?欺骗JavaScript代码,认为它有一个专注的窗口?
-
编辑:我想用page-mod(在Firefox扩展),我们可以注入CSS来
在一个Firefox插件的网页,如果你想设置:focused
CSS伪类的窗口,得到了在domWindow和使用的addPseudoClassLock
iniDOMUtils
方法:
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插件开发:
这是特权代码,所以你必须运行它来自特权范围。您不能在内容脚本中明显运行此代码(因为这相当于在网页范围中运行它)。
为什么有些事情需要关注? – dandavis
作为窗口的孩子,关注窗口并不是JS可以做的事情。浏览器可以(也可能)暂停整个窗口,包括JS,这是你无法真正回应的。 – ssube
@ssube我不想通过JS来关注窗口,我想开发一个浏览器扩展,当你使用浏览器时,浏览器中的所有选项卡都认为它们已被选中(例如通过挂钩JS函数) – Iman