Можно ли установить сочетания клавиш на веб-странице?


7

Не сочетания клавиш системы или приложений, а сочетания клавиш, используемые специально на определенной веб-странице.

Gmail ярлыки для примера.

Пример:

Нажмите Alt+, fпока на Facebook он изменит ленту новостей с «Самые популярные» на «Самые последние» и наоборот.

А разрешить пользователю самим устанавливать эти ярлыки? Возможно расширение хром?


Вы имеете в виду сочетания клавиш только для определенной веб-страницы, например, добавление макросов для выполнения действий в окне Gmail? Или вы хотите ярлыки, которые приведут вас к (например) Gmail, когда вы нажмете ключевую команду в любом месте Chrome?
Маркус Чан

@MarcusChan Первый. Например, если я нажму altDна Facebook, он автоматически удалит все новые уведомления. И пусть пользователь сам установит эти ярлыки.
13

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

@marcus Итак, я отредактировал вопрос, и я думаю, что довольно ясно, когда я упоминаю ярлыки Gmail, о том, о чем я говорю.
13

Вы можете написать свой собственный скрипт. Я мог бы привести вас в пример с Facebook, но, поскольку у меня нет учетной записи Facebook, я должен спросить: что вы обычно делаете, чтобы удалить все уведомления?
Деннис

Ответы:


7

Расширение Shortcut Manager позволяет создавать настраиваемые сочетания клавиш, но для выполнения внутренних действий на странице требуется немного знаний о JavaScript или, по крайней мере, о селекторах jQuery .

Официальное описание

Настроить сочетания клавиш; Назначьте любой код JavaScript или действия браузера для любых нажатий клавиш.

Вы можете изменить сочетания клавиш по умолчанию в браузере и назначить любые горячие клавиши букмарклетам или действиям Javascript. Это работает как Keyconfig на Firefox.

Пример действий:

  • Вкладки: «Левая вкладка», «Верхний каталог», «Закрыть правые вкладки», «Открыть любимую страницу», ...
  • Страница: «Прокрутка вверх / вниз», «Вставить свою подпись», ...
  • Специальный: «Захват экрана»
  • Пользовательский: Выполните любой Bookmarklets или код Javascript!

Вы также можете импортировать или экспортировать свои настройки, чтобы поделиться ими с другими.

Установка

  1. Посетите Менеджер ярлыков .
  2. Нажмите Добавить в Chrome .
  3. Нажмите Добавить .

пример

У меня нет учетной записи Facebook, поэтому давайте откроем папку «Входящие для суперпользователя» с помощью сочетания клавиш.

  1. Щелкните значок диспетчера ярлыков справа от омнибокса.

  2. Нажмите Просмотреть все настройки / Добавить новые ярлыки .

  3. Нажмите на поле ввода Клавиша быстрого доступа и нажмите нужную комбинацию клавиш.

    Это может быть либо один мульти-комбинации клавиш (например, Ctrl+ Shift+ Iили Alt+ I) или последовательность клавиш (например, I, N, B, O, X).

  4. Выберите подходящие шаблоны URL .

    Чтобы сопоставить все страницы домена superuser.comи его поддоменов, используйте:

    *://superuser.com/*
    *://*.superuser.com/*
    
  5. В действии выберите Выполнить Javascript и введите

    http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js
    

    в (1) .

  6. Введите Открыть входящие в Описание .

  7. Мы можем использовать .click()метод JavaScript для имитации щелчков мышью по любому элементу веб-страницы. Сложная часть доступа к этим пунктам. Вот где селекторы jQuery пригодятся.

    Обычно, чтобы получить доступ к своей папке входящих сообщений, вы нажимаете на раскрывающийся список StackExchange , а затем на входящие . Нам нужны соответствующие селекторы для обоих.

    • Щелкните правой кнопкой мыши раскрывающийся список StackExchange и выберите « Проверить элемент» .

      В инструментах разработчика вы увидите следующее:

      <div id="header">
          <div id="portalLink">
              <a class="genu" onclick="StackExchange.ready(function(){genuwine.click();});return false;">Stack Exchange</a>
              </div>
              ...
      </div>
      

      <a>Метка выделена; это элемент, где мы хотим смоделировать щелчок.

      Класс элемента является родовым . Мы могли бы просто использовать селектор .genu, но это не сработало бы правильно, если бы было несколько элементов одного класса. Более надежный подход заключается в доступе к нему как к дочернему узлу <div>с идентификатором portalLink (идентификаторы уникальны) с использованием селектора #portalLink a.genu. Затем мы используем .click()метод.

      Ввод любой из следующих строк в (2) сделает работу:

      // click first <a> element with class `genu'
      // inside the element with ID `portalLink'
      $('#portalLink a.genu')[0].click();
      
      // click first <a> element with class `genu'
      // inside the element with ID `header'
      $('#header a.genu')[0].click();
      
      // click first element with class `genu' of the entire page
      $('.genu')[0].click();
      
      // click first <a> element of the entire page (unreliable)
      $('a')[0].click();
      
      // directly perform the onclick event (easy, but not always available)
      StackExchange.ready(function(){genuwine.click();});
      
    • В раскрывающемся списке StackExchange щелкните правой кнопкой мыши папку «Входящие» и выберите « Проверить элемент» .

      В инструментах разработчика вы увидите следующее:

      <a id="seTabInbox" class="seCurrent">Inbox</a>
      

      Этот элемент имеет свой собственный идентификатор: seTabInbox .

      Ввод любой из следующих строк в (2) сделает работу:

      // click first (only) element with ID `seTabInbox'
      $('#seTabInbox')[0].click();
      
      // click sixth <a> element of the entire page (unreliable)
      $('a')[5].click();
      
  8. Нажмите Сохранить и перезагрузите все открытые страницы суперпользователя. Ваш ярлык готов к использованию.


1
URL дает 404
Кев

1
Для менеджера ярлыков, то есть
Kev

-1

Прочитайте это ( Ссылка ), это не очень сложно, хотя вы должны открыть браузер


2
Как я уже сказал в моем вопросе. Я говорю о сочетаниях клавиш на веб-странице, а не на веб-сайте.
13
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.