3

很多时候,我搜索一个我真的只想直接启动到该网站的关键字。

例如,我将在 google 搜索栏中输入“Stack Overflow”,然后单击第一个链接。相反,我想直接访问 stackoverflow.com。显然,地址栏中有书签和打字,但出于习惯和速度的原因,我做谷歌的事情。(通常需要大约 1-2 秒,而不是找到书签或从地址栏下拉菜单中选择)。

是否有一个greasemonkey/tampermonkey脚本可以做到这一点,或者任何人都知道一个简单的方法来做到这一点?我想基本上只是将精确的搜索字符串(不区分大小写)映射到 url。如果我输入诸如“堆栈溢出油脂猴”之类的其他内容,我想要原始搜索。

“stackoverflow”或“stackoverflow”=> stackoverflow.com、“microsoft”=> microsoft.com,或者我想要的任何映射(通过编辑脚本来添加它们)。

这应该是一个相对容易的任务。我想肯定有一些东西可以做到这一点,或者可以修改来做到这一点?

4

2 回答 2

1

我已经做了一些,这应该可以在搜索框上按 ENTER 或单击搜索按钮:

// ==UserScript==
// @name       Google redirects
// @namespace  http://googleredirects.com/
// @version    0.1
// @description  Make redirects based on google searches
// @require    http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js
// @match      http://www.google.com/
// @copyright  2012+, cowboy_kangaroo
// ==/UserScript==


(function () {
    $(document).ready(function(){
        var mapping = [ "stackoverflow", "http://stackoverflow.com",
                       "reddit", "http://www.reddit.com",
                       "slashdot", "http://slashdot.org" ];
        $('input[name=q]').keydown(function(e) {
            if (e.keyCode == 13) {
                e.preventDefault();
                e.stopPropagation();
                v = $(this).val();
               for (i=0;i<mapping.length;i+=2) {
                   if (v == mapping[i]) {
                         window.location.href = mapping[i+1];
                   }
               }
            }
        });
        $("input[name='btnK']").click(function(e) {
            v = $('input[name=q]').val();
            for (i=0;i<mapping.length;i+=2) {
                if (v == mapping[i]) {
                     window.location.href = mapping[i+1];
                }
             }
        });
    });
})();

我只用 Tampermonkey 在 Chrome 上测试过它。如果您使用的是 google 特定国家/地区的网站,例如 www.google.co.uk 等,请务必调整 @match 规则。

于 2012-10-19T08:18:43.970 回答
0

我认为有一种更简单的方法,至少如果您的浏览器允许您编辑搜索链接:只需将“&btnG=”或“&btnK=”替换为“&btnI=”即可。

这应该模拟使用“我感觉很幸运”按钮进行的​​搜索。

于 2012-10-19T12:07:09.543 回答