您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
navigate search results by keyboard!
// ==UserScript== // @name DDG-like Vim keybindings for Brave Search // @namespace https://gist.github.com/KiaraGrouwstra/94c77deb4ba1ac7c464568bb9a895b76 // @version 0.0.3 // @description navigate search results by keyboard! // @author KiaraGrouwstra // @match https://search.brave.com/* // @grant none // @license WTFPL // ==/UserScript== (function() { 'use strict'; var hit = 1; // global function select_hit(next = true) { const get_res = i => document.getElementsByClassName('snippet')[i]; const el_ = get_res(hit); if(el_) el_.classList.remove("highlight"); hit = Math.max(0, next ? hit + 1 : hit - 1); const el = get_res(hit); el.classList.add("highlight"); el.getElementsByTagName("a")[0].focus(); el.scrollIntoView({behavior: "smooth", block: "center", inline: "center"}); } document.addEventListener('keydown', function(event) { const code = event.keyCode; if (!['INPUT', 'TEXTAREA'].includes(document.activeElement.nodeName)) { // if not in a text box, we can safely intercept keys if (code == 40 || code == 74 || code == 78) { // down / j / n event.preventDefault(); select_hit(true); } if (code == 38 || code == 75 || code == 69) { // up / k / e event.preventDefault(); select_hit(false); } } }); // define css class var style = document.createElement('style'); style.type = 'text/css'; style.innerHTML = '.highlight { background-color: rgba(120, 120, 255, 0.1); }'; document.getElementsByTagName('head')[0].appendChild(style); })();
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址