Пользовательские поисковые системы браузера и несколько параметров

Я работал с пользовательскими поисковыми системами в Chrome и Vivaldi, которые были абсолютно фантастическими. Однако мне удалось только успешно выполнить поиск, который заменит один параметр (например,%s в следующем URL: http://www.thesaurus.com/browse/%s) моим поисковым термином (например, http://www.thesaurus.com/browse/trifocal).

Можно ли заменить несколько параметров для пользовательской поисковой системы браузера, чтобы я мог указать не только поисковый запрос, но и веб-страницу для поиска? Например, я бы набрал пользовательский ярлык поисковой системы "d", а затем "тезаурус, трифокальный", который ввел бы два параметра в предопределенный URL-адрес и произвел поиск по слову "трифокальный" на "thesaurus.com".

По сути, я хочу иметь возможность поиска нескольких значений в двух разных точках в пользовательской поисковой системе для сценариев, когда несколько сайтов используют один и тот же "базовый" URL, где единственное отличие - это слово или два.

Пожалуйста, дай мне знать, если возникнут какие-либо вопросы.

1 ответ

Вы можете использовать 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; код» откроет 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-адресами.

Другие вопросы по тегам