按Ctrl + Shift + Del outof firefox扩展名

时间:2010-01-03 12:31:32

标签: javascript firefox-addon

所以,我需要以程序方式按 Ctrl + Shift + Del 。 我希望我的分机按 Ctrl + Shift + Del ,然后按 Enter (清理所有历史记录,cookie,缓存等)。 我接下来做的事:

var e=document.createEvent('KeyboardEvent');
e.initKeyEvent( 'keypress', true, true, window, true, false, true, false, 46, 0);
document.dispatchEvent(e);

根据我的理解,此代码必须模拟按 Ctrl + Shift + Del 但没有任何反应...... document.dispatchEvent(e)发生,但按 Ctrl + Shift + Del 调用的窗口不会出现。为什么呢?

。p。我知道Components.classes["@mozilla.org/cookiemanager;1"].getService(Components.interfaces.nsICookieManager).removeAll(); 但它不适合我的情况。 我确实需要“按”组合 Ctrl + Shift + Del 那么......有什么想法?看错了吗?

2 个答案:

答案 0 :(得分:2)

模拟按键事件以启动浏览器的本机功能听起来像是一个糟糕的,可能是不必要的想法。

为什么不查看清除缓存/历史记录的其他扩展程序,例如this one,并查看其source code,看看它是如何完成的。

答案 1 :(得分:0)

如何打开 Ctrl + Shift + Del 的弹出窗口?

编辑:它是chrome://browser/content/sanitize.xul。您可能还想查看chrome://browser/content/sanitize.js