Skip to content
/ ymhk Public

Горячие клавиши для Яндекс.Музыка

Notifications You must be signed in to change notification settings

berlic/ymhk

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Описание

Это расширение для браузера Google Chrome.
Оно позволяет управлять онлайн плеером Яндекс.Музыка, открытом в одной из вкладок браузера, при помощи горячик клавиш.

Настройки клавиш по умолчанию:

  • Следующая песня - клавиша "Вперед" (на мультимедиа клавиатуре)
  • Пауза/воспроизведение - клавиша "Пауза"
  • Предыдущая песня - клавиша "Назад"

Если на вашей клавиатуре нет мультимедиа клавиш или Chrome не включил горячие клавиши автоматически, вы можете настроить их по своему усмотрению в разделе Расширения (chrome://extensions) -> Быстрые клавиши (в нижней части страницы).

Если во время установки расширения у вас уже была открытка вкладка с Яндекс.Музыкой, необходимо открыть ее заново.

Как установить

Загрузить расширение из Chrome Marketplace: здесь

Или

Скачать исходники в локальную папку на компьютере, включить в Google Chrome режим разработчика и установить расширение из папки.

Как работает

background.js

В фоне крутится background.js, в которой обрабатываются два события: команда и коннект от страницы.

Когда приходит запрос на коннект от страницы (вкладки с Яндекс.Музыкой), запоминается ссылка на объект порта для обмена сообщениями в глобальную переменную tunnel.

Когда приходит команда нажатия клавиши от браузера, то, если порт уже есть, отправляем в него сообщение с одной из команд.

inject.js

При открытии страницы с маской music.yandex.ru, к ней прицепляется код из inject.js.

Сразу после инъекции создается <script> элемент в структуре страницы, в котором на документ вешается обработчик нашего события ymhk-event.
Этот трюк нужен для того, чтобы из inject.js можно было управлять JS-объектами на основной странице, т.к. напрямую это невозможно из-за правил безопасности Chrome.

Далее открываем порт обмена сообщениями до background.js, и ждем через него сообщения о нажатии клавиш.

Как только получаем сообщение с командой, отправляем в документ событие ymhk-event, которое отлавливается созданным в самом начале обработчиком, в котором анализируется команда и вызывается нужный метод JS-объекта с плеером Яндекс.Музыки.

Спасибо-Пожалуйста

Если есть желание скинуться мне на пиво, номер Яндекс.Кошелька: 4100160484309

About

Горячие клавиши для Яндекс.Музыка

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published