2016-12-03 6 views
0

Вот файл манифестаЯ создаю webextension Firefox, который захватывает MouseWheel свиток и делает что-то, но я не могу сделать так

{ 
"description": "", 
    "manifest_version": 2, 
    "name": "A", 
    "version": "0.2.0.2", 

    "permissions": [ 
     "activeTab",  
     "contextMenus", 
     "tabs" 
    ], 

    "icons": { 
     "48": "icons/48.png", 
     "96": "icons/96.png" 

    }, 


    "background": { 
     "scripts" : ["background.js", "mouseWheel.js"] 
    } 
} 

Файл mouseWheel.js является:

window.addEventListener('DOMMouseScroll', mouseWheel); 
function mouseWheel(e) { 
console.log("Scroll capture Working"); 
} 

Всякий раз, когда я прокручиваю страницу на любой странице, она должна печатать запись прокрутки. Но ответа нет.

ответ

1

Ваш скрипт выполняется на исходной странице: невидимая вкладка со своим собственным документом (и собственной консолью).

Итак, когда вы присоединяетесь к событиям window, это события на этой (невидимой) вкладке, а не фактические вкладки браузера.

Прочитайте architecture overview. Это объяснит, что вам нужно переключиться на Content Scripts, если вам нужно взаимодействовать с контентом на «реальных» вкладках. Прочитайте эту документацию полностью, но в качестве быстрого запуска это даст вам то, что вы хотите (в манифесте):

"content_scripts" : [{ 
    "matches" : ["<all_urls>"], 
    "js" : ["mouseWheel.js"] 
}],