1

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

是否可以为自定义浏览器搜索引擎替换多个参数,这样我不仅可以指定搜索词,还可以指定要搜索的网页?例如,我会键入自定义搜索引擎快捷方式“d”,后跟“thesaurus, trifocal”,这会将这两个参数输入到预定义的 URL 并在“thesaurus.com”上搜索“trifocal”一词。

基本上,我希望能够在自定义搜索引擎中的两个不同点搜索多个值,以解决多个站点使用相同“基本”url 的场景,其中唯一的区别是一两个单词。

请让我知道,如果你有任何问题。

4

1 回答 1

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 替换搜索字符串。

于 2021-01-06T10:36:52.773 回答