如何在Firefox扩展中处理修改后的链接点击事件?

时间:2014-12-29 16:31:38

标签: javascript firefox firefox-addon firefox-addon-sdk mozilla

单击链接时,将在当前选项卡中打开链接页面。如果在按住Ctrl按钮的同时单击链接,则会在新的背景选项卡中打开链接的页面。我想实现一个可以捕获Alt + Clicks或Shift + Clicks的扩展,这样当用户按住Alt按钮的同时点击一个链接时,我的函数会获得链接目标URL(除了我拥有的内容之外别无其他编程发生)。怎么能实现这一目标? SDK方式非常受欢迎。

1 个答案:

答案 0 :(得分:1)

这样做,可以从sdk内容脚本或bootstrap插件或覆盖插件中完成。如果从bootstrap / overlay然后再添加到每个文档,那么只需添加一次到gBrowser,而不是document.addEv ... do gBrowser.addEventL ...

document.addEventListener('mousedown', function(e) {
    if (e.altKey && e.ctrlKey && e.button = 0 && e.target.nodeName == 'a') {
        e.preventDefault();
        e.stopPropagation();
        //do what you want, you may have to atach a mouseup preventer liek this
        document.addEventListener('mouseup', function(e) {
            document.removeEventListener('mouseup', arguments.callee, false);
            e.preventDefault);
            e.stopPropagation();
        }. false);
    }
});