Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用greasemonkey/tampermonkey的谷歌搜索结果页面的键盘快捷键?_Javascript_Search_Tampermonkey_Shortcuts - Fatal编程技术网

Javascript 使用greasemonkey/tampermonkey的谷歌搜索结果页面的键盘快捷键?

Javascript 使用greasemonkey/tampermonkey的谷歌搜索结果页面的键盘快捷键?,javascript,search,tampermonkey,shortcuts,Javascript,Search,Tampermonkey,Shortcuts,请分享你可能想到的任何js代码,以便我可以重用它。谢谢下面是一些谷歌搜索结果页面快捷方式的工作代码。请随意即兴创作,谢谢 shift+I:将打开图像, shift+V:将打开视频, ... ... 您将在搜索结果超链接(链接)旁边看到链接编号 如果按键盘上的数字,它将在新选项卡中打开该链接 您需要greasemonkey或tampermonkey来运行此js代码 我利用了一位开发人员在 希望这有帮助 谢谢 阿比 /==UserScript== //@name谷歌数字 //@包括https://

请分享你可能想到的任何js代码,以便我可以重用它。谢谢

下面是一些谷歌搜索结果页面快捷方式的工作代码。请随意即兴创作,谢谢

shift+I:将打开图像, shift+V:将打开视频, ... ...

您将在搜索结果超链接(链接)旁边看到链接编号 如果按键盘上的数字,它将在新选项卡中打开该链接

您需要greasemonkey或tampermonkey来运行此js代码

我利用了一位开发人员在

希望这有帮助

谢谢

阿比

/==UserScript==
//@name谷歌数字
//@包括https://www.google.tld/*
//@在文档开始时运行
//@作者Abhinay Gadikoppula
//@匹配https://stackoverflow.com/questions/39456608/way-to-create-keyboard-shortcuts-for-google-search-results
//@grant none
//==/UserScript==
//仅在具有#q=&q=?q的搜索页面上工作=
if(location.href.match(/[#和?]q=/){
var-links=[];
变量菜单链接=[];
变量菜单链接映射=[];
window.onload=函数(){
//获取所有标题菜单链接
menu_links=document.getElementById(“hdtb msb”).querySelectorAll('a.q.qs');
菜单链接forEach(函数(链接、索引){
菜单链接映射[link.innerHTML.charAt(0)]=链接;
});
//获取数组中的所有结果
links=document.querySelectorAll('h3.ra');
forEach(函数(链接、索引){
link.innerHTML=link.innerHTML+'('+(索引+1)+');
});
};
window.addEventListener('keydown',函数(e){

如果(e.shiftKey&&e.keyCode>=65&&e.keyCode=49&&e.keyCode您是否有问题/您遇到了问题,或者您只是想分享您的代码?如果是前者,请更新您的帖子,详细说明您遇到的问题/错误,以及您为解决问题所做的努力。如果是后者,堆栈溢出不是合适的解决方案ce——相反,请查看GitHub或类似产品。
// ==UserScript==
// @name         Google digits
// @include      https://www.google.tld/*
// @run-at       document-start
// @author       Abhinay Gadikoppula
// @match        https://stackoverflow.com/questions/39456608/way-to-create-keyboard-shortcuts-for-google-search-results
// @grant        none
// ==/UserScript==
// only work on search pages with #q= &q= ?q=
if (location.href.match(/[#&?]q=/)) {

    var links = [];
    var menu_links = [];
    var menu_links_map = [];

    window.onload = function() {

        // get all header menu links
        menu_links = document.getElementById("hdtb-msb").querySelectorAll('a.q.qs');
        menu_links.forEach(function(link, index) {
            menu_links_map[link.innerHTML.charAt(0)] = link;
        });

        // get all results in an array
        links = document.querySelectorAll('h3.r a');
        links.forEach(function(link, index) {
            link.innerHTML = link.innerHTML + ' (' + (index + 1) + ')';
        });
    };

    window.addEventListener('keydown', function(e) {

        if (e.shiftKey && e.keyCode >= 65 && e.keyCode <= 90) {
            e.preventDefault();
            char = String.fromCharCode(e.keyCode);
            //keycodes 65-90 are alphabets a-z
            if (char in menu_links_map) {
                menu_links_map[char].click();
            }
        } else if (e.keyCode >= 49 && e.keyCode <= 57 &&
            // don't intercept if a modifier key is held
            !e.altKey && !e.ctrlKey && !e.shiftKey && !e.metaKey &&
            // don't intercept 1-9 in the search input
            e.target.localName != 'input') {
            //keycodes for 1-9 are 49-57 but replacing them with 1-9
            var digit = e.keyCode - 48;
            // arrays are 0-based
            var link = links[digit - 1];
            if (link) {
                // go to the linked URL
                window.open(link.href, '_blank');
                // prevent site from seeing this keyboard event
                e.preventDefault();
                e.stopPropagation();
                e.stopImmediatePropagation();
            }
        } else if (e.keyCode == 191) {
            // event '/' keycode 191
            e.preventDefault();
            input = document.getElementById("lst-ib");
            val = input.value; //store the value of the element
            input.value = ''; //clear the value of the element
            input.focus(); //set focus on the input field
            input.value = val; //set that value back.
        }
    }, true); // true means we capture the event before it's "bubbled" down
}