2

Когда вы нажимаете ссылку, связанная страница открывается на текущей вкладке. Если вы нажмете ссылку, удерживая нажатой кнопку Ctrl, связанная страница откроется на новой вкладке фона. Я хочу реализовать расширение, которое будет захватывать Alt + Clicks или Shift + Clicks, поэтому, когда пользователь нажимает на ссылку, удерживая нажатой кнопку Alt, функция my получает целевой URL-адрес ссылки (и ничего, кроме того, что я запрограммировал). Как это можно достичь? Способ SDK очень предпочтителен.Как обрабатывать измененное событие click click в расширении Firefox?

ответ

1

Сделайте это, это можно сделать из скрипта содержимого sdk или дополнения к бутстрапу или оверлейного аддона. если сделать из 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); 
    } 
}); 
Смежные вопросы