2014-10-22 4 views
0

Я пишу простое расширение, в котором есть .js-файл с двумя функциями и слушателем (который записывает только в Консоль), но я не вижу его и не уверен, что он что-то улавливает.Ярлыки расширения Chrome

Я хотел был бы назначить ярлыки, скажем Ctrl+Shift+1 и Ctrl+Shift+2 для обеих функций.

Я не совсем уверен, как это сделать, и если это возможно. Данные, которые я смог собрать в Интернете, не охватывали то, что я ищу.

У меня нет необходимости в html popup. Все, что я хочу, это нажать ярлык и выполнить соответствующую функцию javascript.

Это как мой файл manifest.json выглядит следующим образом:

{ 
    "manifest_version": 2, 

    "name": "Simple Extension", 
    "description": "This extension barely does anything.", 
    "version": "1.0", 

    "browser_action": { 
    "default_icon": "icon.png", 
    "default_popup": "popup.html" //not sure I even need this 
    }, 

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

    "commands": { 
     "funcA": { 
     "suggested_key": { 
      "default": "Ctrl+Shift+1" 
     }, 
     "description": "Executes Func A" 
     }, 
     "funcB": { 
     "suggested_key": { 
      "default": "Ctrl+Shift+2" 
     }, 
     "description": "Executes Func B" 
     } 
    } 
} 

После установки расширения я видел на «Сочетания клавиш» на вкладке Расширения, что назначение клавиш работали хорошо, но это не ясно мне, что связывает ярлык с самой функцией javascript.

Должен ли я использовать слушателя, а затем выполнить вызов вручную?

Edit:

Это слушатель в моем файле .js:

chrome.commands.onCommand.addListener(function(command) { 
     console.log('Command:', command); 
}); 

ответ

2

Регистрация прослушиватель событий для chrome.commands.onCommand события в background или event page.

chrome.commands.onCommand.addListener(function(command) { 
    // Now, do whatever you want when the shortcut is triggered. 
    // e.g. if (command == 'funcA') ... 
}); 
+0

Спасибо. Я обновил свой вопрос с помощью атрибута 'background', который вы предложили, и как выглядит мой слушатель в файле javascript. Тем не менее, я не вижу в консоли никаких списков, когда я использую свои ярлыки. Возможно ли использовать пользовательские команды? Или есть ограниченный список? –

+0

Обновление: я добавил строку «alert», и я получаю предупреждение. Я предполагаю, что 'Console.log' не обновляется на обычной консоли Chrome? –

+1

Вы должны посмотреть в соответствующей консоли. Из 'chrome: // extensions' в режиме разработчика вы увидите ссылку на Dev Tools для своей фоновой страницы. – Xan

Смежные вопросы