自定义浏览器搜索引擎和多个参数

时间:2017-07-19 16:07:39

标签: search browser vivaldi

我一直在使用Chrome和Vivaldi中的自定义搜索引擎,这绝对是非常棒的。但是,我只能成功执行用我的搜索词替换单个参数(例如,以下URL中的%s:http://www.thesaurus.com/browse/%s)的搜索(例如,http://www.thesaurus.com/browse/trifocal)。

是否可以为自定义浏览器搜索引擎替换多个参数,这样我不仅可以指定搜索词,还可以指定要搜索的网页?例如,我会输入自定义搜索引擎快捷方式" d"然后是"同义词库,三角形",它将两个参数输入到预定义的URL中并搜索单词" trifocal" on" thesaurus.com"。

基本上,我希望能够在自定义搜索引擎中的两个不同点搜索多个值,以用于多个站点使用相同" base" url,唯一的区别是一两个字。

如果您有任何疑问,请与我们联系。

1 个答案:

答案 0 :(得分:0)

您可以使用 JavaScript。将整个字符串作为函数的输入。根据某些字符拆分它,然后修剪零件。构建链接,然后在当前选项卡或新选项卡中打开它,具体取决于哪个选项卡适合您。

javascript:(function myFunction(str) {
    var part = ";";
    var res = str.split(part);
    
    var search_query = res[0].trim(); 
    var category = res[1].trim();
    var new_tab = res[2];

    var res_url = "https://github.com/search?q=" + search_query + "&type=" + category;

    // open in new tab if str contains a third parameter that is composed of zero or more spaces
    if ((new_tab !== undefined) && (new_tab.trim() === "")) 
    {
        window.open(res_url, "_blank");
    }
    else // open in current tab
    {
        window.location.href = res_url;
    }
})('%s');

缩小时,自定义搜索引擎 URL 将为 javascript:(function myFunction(str){var part=";";var res=str.split(part);var search_query=res[0].trim();var category=res[1].trim();var new_tab=res[2];var res_url="https://github.com/search?q="+search_query+"&type="+category;if((new_tab!==undefined)&&(new_tab.trim()==="")){window.open(res_url,"_blank")}else{window.location.href=res_url}})('%s');。该函数以“%s”作为参数被调用。它根据分号字符拆分。

用法:让我们将这个自定义搜索引擎昵称为“gm”。然后搜索“gm binary tree; code”将在当前页面打开https://github.com/search?q=binary%20tree&type=code。搜索“gm radix tree; commits;”将在新标签页中打开https://github.com/search?q=radix%20tree&type=commits

请注意,如果 %s 包含单引号,则此函数将失败。如果从设置等内部页面调用它也不起作用。

实现目标的另一种方法是放弃自定义搜索引擎的想法,并使用 AutoHotkey (Windows) 之类的脚本工具将搜索字符串替换为 URL。