2014-12-29 42 views
2

當您單擊鏈接時,鏈接頁面在當前選項卡中打開。如果在按住Ctrl按鈕的同時單擊鏈接,則會在新的背景選項卡中打開鏈接的頁面。我想實現一個可以捕獲Alt + Clicks或Shift + Click的擴展,因此當用戶點擊一個鏈接時按住一個按鈕,我的一個函數就會獲得鏈接目標URL(除了我所編程的內容外,沒有別的)。這怎麼能實現? SDK方式非常受歡迎。如何在Firefox擴展中處理修改的鏈接點擊事件?

回答

1

做到這一點,可以從SDK的內容腳本或引導附加或覆蓋插件來完成。如果從引導/覆蓋,然後而不是添加到每個文檔,然後只添加一次gBrowser,而不是document.addEv ...做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); 
    } 
});