Доступ к «медиа ключам» из вкладки браузера - PullRequest
18 голосов
/ 02 сентября 2010

Есть ли способ доступа к "медиа ключам" с помощью Javascript из вкладки / окна браузера?

В основном меня интересует решение Google Chrome.

Использование следующего кодаПохоже, что для медиа-ключей не было сгенерировано событие:

<html>
<body onKeyDown="showKeyCode(event)">
    <script type="text/javascript">

        function showKeyCode(event) {
            alert(event.keyCode);
        }

    </script>
</body>
</html>

Я что-то упустил?Могу ли я улучшить работу с расширением Google Chrome ??

Обновление: для решения этой проблемы я создал следующие инструменты:

Ответы [ 2 ]

7 голосов
/ 02 сентября 2010

Вот список кодов клавиш от Microsoft; они включают ключи, такие как «VK_VOLUME_MUTE». Код ключа для VK_VOLUME_MUTE указан как 0xAD. 0xAD является десятичным 173.

И, конечно же, когда я загружаю следующее и нажимаю кнопку отключения звука на клавиатуре, сообщается код клавиши 173. Таким образом, они работают как любая другая клавиша; меня не удивило бы, если бы коды клавиш были специфичны для Windows. Это может потребовать некоторых экспериментов.

<html>
<body>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script>
$(document).ready(function() {
    $(document).keydown(function(ev){
       alert(ev.keyCode);
    });
});
</script>

</body>
</html>
4 голосов
/ 07 февраля 2012

Относительно того, можете ли вы добиться большего успеха, чем расширение Chrome: нет, вы не могли - я создал скрипт содержимого для сайта и запустил его в рамках текущей стабильной версии Chrome 16 для OS X 10.7. Сценарий достаточно прост:

console.log('Content script loading');

$("body").bind("keyup",function(event){
    console.log(event.keyCode);
})

И это показывает, что никакие события не запускаются для клавиш возврата, воспроизведения / паузы, перемотки вперед, отключения звука, уменьшения или увеличения громкости .

Интересно, что неиспользованный ключ F5 генерирует код ключа, так что вы можете использовать его как альтернативу, если хотите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...