← Все примеры

JavaScript Навигация google.com

Google: навигация по результатам с клавиатуры

Позволяет перемещаться по результатам клавишами J и K и открывать выделенный результат клавишей Enter.

Код для копирования

// Navigate organic results with J / K keys and open with Enter
let jzIdx = -1;
function jzResults() {
  return Array.from(document.querySelectorAll('#search a > h3'))
    .map(function (h) { return h.closest('a'); });
}
function jzFocus(n) {
  const r = jzResults();
  if (!r.length) { return; }
  jzIdx = (n + r.length) % r.length;
  const el = r[jzIdx];
  el.style.outline = '2px solid #1a73e8';
  el.scrollIntoView({ block: 'center' });
  el.focus();
  r.forEach(function (a, i) {
    if (i !== jzIdx) { a.style.outline = ''; }
  });
}
document.addEventListener('keydown', function (e) {
  if (/INPUT|TEXTAREA/.test(document.activeElement.tagName)) { return; }
  if (e.key === 'j') { jzFocus(jzIdx + 1); }
  else if (e.key === 'k') { jzFocus(jzIdx - 1); }
  else if (e.key === 'Enter' && jzIdx >= 0) { jzResults()[jzIdx].click(); }
});

Как использовать этот пример

  1. Скопируй код кнопкой выше.
  2. Установи JustZix (2 минуты) и открой расширение на нужной странице.
  3. Добавь новое правило, совпадающее с этой страницей.
  4. Вставь код в панель JavaScript правила и сохрани — он запускается при каждом заходе на страницу.

Оцени этот пример

Оценок пока нет — оцени первым.

Этот пример работает?

Сниппеты бесполезны, если их некуда вставить.

JustZix устанавливается за 2 минуты и запускает твой код на каждой подходящей странице. Без аккаунта, без оплаты.

Скачать бесплатно Смотреть применение