английский | 中文
Легко используйте/переключайте одну или несколько (беспрерывно) поисковых систем (или выполняйте поиск на любых веб-сайтах).
Дружелюбен к новичкам, удовлетворяет экспертов. Для повседневной жизни, развлечений и работы.
Включает основные функции , которыми должен обладать многомашинный инструмент веб-поиска:
и так далее. Помимо вышеуказанных основных функций, он также может :
и так далее... Продолжайте читать
Ищите везде ?️ все?. Широта и фокус.
Способы использования:
Расширение для браузера ( рекомендуется )
Веб-приложение: для демонстрационных целей. Веб-приложение не может функционировать полностью как расширение. Веб-приложение можно использовать в мобильных браузерах.
Использовать расширение | Широта и фокус | Стиль пользовательского интерфейса на выбор |
---|---|---|
Контекстный поиск выбора | Различные адаптации пользовательского интерфейса | Вем (подобный Вимиуму) |
Редактировать поисковые системы | Специальные методы поиска, гибкость и расширяемость | |
Видео с полным введением и инструкциями (Youtube) (выберите главу, которую хотите посмотреть):
Полезно, например, если вы хотите перевести статью.
- Нет в режиме инкогнито Firefox (ошибка 1380812)
Ctrl+Alt+S
Chrome и другие: Ctrl+Shift+S
Ctrl+Alt+D
Chrome и другие: Ctrl+Shift+D
изменить в Firefox | изменить в Chrome:
chrome://extensions/shortcuts
Если вы использовали !bang
или омнибокс, вам потребуется запомнить коды.
В то же время режим Vem Big Search визуально дает вам удобство и возможность использовать клавиатуру для (непрерывного) нажатия разных кнопок разных поисковых систем. Нажмите Shift+Enter
, чтобы войти в режим Vem.
Ключ | Функция |
---|---|
Shift+Enter | Завершите ввод и войдите в режим Vem (используется, когда он не в режиме Vem) |
Shift+Enter | Напротив вышеописанного (используется в режиме Vem) |
I | Выйдите из режима Vem и сфокусируйтесь на поле ввода. |
1 9 | Переключение категории (в режиме Vem) |
A - Z | Нажмите соответствующую кнопку (в режиме Vem) |
J и K | Прокрутить таблицу вниз/вверх |
еще предстоит добавить... |
Вышеуказанные привязки клавиш формально не определены. Возможно изменение в будущем согласно отзывам пользователей
Обратите внимание: если добавлены новые движки, последовательность кнопок может измениться, например, клавиши кнопок ( A
– Z
).
А:
Общий поток поиска GET/POST:
Поиск на странице с Ajax-рендерингом Big Search:
Функция поиска на странице с Ajax-рендерингом может использоваться для поиска веб-сайтов, которые не предоставляют общедоступный интерфейс поиска GET/POST (например, веб-сайты SPA) или тех, которым требуется случайный токен, назначенный в форме входа в поиск.
«In-page-Ajax-render» является сокращением от « In-page -submit-form-via -Ajax -then-XHR-gets-search-result-then -render -and-show-in-page-without-web». -frame-навигация"
Эта часть также объяснена в описании видео.
60+ на данный момент. Посмотреть список встроенных поисковых систем
Сравнение инструментов веб-поиска с открытым исходным кодом (многосистемных)
Опытные пользователи могут предпочесть интуитивное горизонтальное сравнение, чтобы быстро понять, что особенного. (Кстати, знаю и о других)
Онлайн-инструмент для редактирования движка с графическим интерфейсом (ссылка 1) (ссылка 2)
Обычно используйте вышеуказанный редактор графического интерфейса. Если вы не хотите использовать графический интерфейс (например, вы опытный пользователь и хотите использовать расширенные функции), продолжайте читать ниже.
Пользователи Big Search могут редактировать поисковые системы программно. Следующие параграфы этого раздела посвящены спецификации данных механизма в формате JSON. Для обоих:
enginesdata.js
) Вам нужно всего лишь написать очень простой JSON и иметь базовые знания HTTP по GET Method
.
{
"Google" : " https://www.google.com/search?q={0} " ,
"Yahoo Search" : " https://search.yahoo.com/search?q={0} "
}
Хотя вышеизложенное просто и правильно, если вы программист, не рекомендуется использовать отображаемое имя в качестве ключа. Нам следует, по крайней мере, например:
{
"yahoo" : {
"dname" : " Yahoo Search " ,
"full_url" : " https://search.yahoo.com/search?q={0} "
}
}
Используя полный формат, у вас есть возможность использовать все возможности этого инструмента.
Кроме того, поддерживается смешивание короткоформатированных и полноформатных элементов.
{
"yahoo" : {
"dname" : " Yahoo Search " ,
"addr" : " https://search.yahoo.com " ,
"action" : " https://search.yahoo.com/search " ,
"kw_key" : " q "
},
"google" : {
"dname" : " Google " ,
"addr" : " https://www.google.com " ,
"action" : " https://www.google.com/search " ,
"kw_key" : " q " ,
"btns" : {
"search" : {
"label" : " Google Search "
},
"lucky" : {
"label" : " I'm Feeling Lucky " ,
"params" : [
{ "key" : " btnI " , "val" : " 1 " }
]
}
}
},
"label_mbap" : { "lstr" : " Cross-engine " },
"itunesapps" : {
"dname" : " iTunes Apps (Google) " ,
"addr" : " https://www.apple.com/itunes/charts/free-apps/ " ,
"btns" : {
"search_apps" : {
"label" : " Search Apps " ,
"kw_format" : " {0} site:apple.com/*app " ,
"use_other_engine" : {
"engine" : " google " ,
"btn" : " search "
}
}
}
},
"label_usaj" : { "lstr" : " Search In-page-Ajax-render web " },
"chrome_ext_dev" : {
"dname" : " Chrome Ext Dev Doc " ,
"addr" : " https://developer.chrome.com/docs/extensions/reference/ " ,
"action" : " https://developer.chrome.com/docs/extensions/reference/ " ,
"ajax" : " .search-box__input "
},
"label_many" : { "lstr" : " Many Engines at once " },
"many_once" : {
"dname" : " Many Engines at once " ,
"btns" : {
"gg_ddg" : {
"label" : " Google + DDG " ,
"use_other_engine" : [ " google " , " duckduckgo " ]
}
}
}
}
Эта часть также объяснена в описании видео.
В формате JSON.
Данные двигателя в полном формате могут содержать следующие пары «ключ-значение» (включая специальные методы поиска):
// # Some key-value in the button can override the key-value in the engine name
{
" engine_name " : {
" dname " : " Engine display name " ,
" addr " : " Homepage URL " , // # optional
" tip " : " Engine tip text " , // # optional
" action " : " form action url " ,
// # For example, https://search-engine.com/search?q=input_content,
// # The action is https://search-engine.com/search
" kw_key " : " The key name of the keyword in the query string " , // # In above example, it is q
" full_url " : " http://www.example.com/search/{0} " , // # optional. Only when GET method. Will override above two. The entire url
" method " : " get/post " , // # optional. default is get
" charset " : " UTF-8/gb2312/gb18030/big5/iso-xxxx.... " , // # optional. default UTF-8 (NOTICE: full_url not compatible with this
" allow_referer " : false, // # false(default)/true optional
" kw_replace " : [[" ", "-"]], // # Optional, characters that need to be replaced in the search term. In this example, replace spaces with '-'
" kw_format " : " formatted string with {0} " , // # optional. {0} is like %s
" params " :[ // # Optional, the key/value other than the keyword in the query string required for this operation. POST method may need
{"key": "key", "val": "value"},
// # For example, https://search-engine.com/search?q=input_content&option=searchall
// # so {key: "option", val: "searchall"},
],
" use_other_engine " : { // # optional, use another engine to do the operation.
" dbname " : " bigsearch/user/browser " , // # Optional. Where the engines database come from (3 available databases): BigSearch build-in database (default) / User custom database / Browser-installed database
" engine " : " engine name " ,
" btn " : " button name " // # Optional. Absence will make fallback to the first button
// # this entire object can be simplified to an engine name string
},
// # (if use array here, then do many operations at once)
" ajax " : ...... // # Optional. Read the In-page-Ajax-render websites instructions
" btns " : { // # optional. If there is no such item, a "Search" button is displayed, and clicking the button will do the default action
" Button name " : {
" label " : " Button display text " ,
" btn_tip " : " Tip text " , // # optional
" ... " : "..." // # here in a btn can be key-value pairs, which will override those in engine
},
....
}
},
}
Эта часть также объяснена в описании видео.
Некоторые веб-сайты не поддерживают поиск GET/POST (или не отвечают на результаты в формате HTML). Посетителю необходимо открыть свою страницу, затем ввести данные, а затем они отобразят результаты через Ajax на своей странице. (см. часто задаваемые вопросы)
Big Search может работать с такими веб-сайтами с Ajax-рендерингом на странице (путем внедрения js в веб-браузер вашего браузера для автоматизации ввода, нажатия и отправки формы). И легко настроить:
Например, 1: укажите CSS-селектор поля ввода. Он автоматически введет поисковый запрос и вызовет событие нажатия Enter.
"ajax" : " #search-box-input "
Например, 2: Задержка 2 с -> Ввод -> Задержка 1 с -> Событие нажатия кнопки триггера.
"ajax" : [ 2000 , " #search-box-input " , 1000 , " #submit-button " ]
Эта часть также объяснена в описании видео.
Мы рекомендуем пользователям отправлять настроенные данные поисковых систем в исходный код после их форматирования в формате JSON (отправить в файл
enginesdata.js
).
Этот инструмент все еще можно улучшить, чтобы сделать что-то большее:
Быстрый и легкий : НЕТ тяжелых фреймворков или зависимостей библиотек. Несмотря на то, что он имеет как упрощенные, так и модные темы пользовательского интерфейса, все основные функции и пользовательский интерфейс представляют собой чистый JS + CSS.
LZ-UTF8.js (38 КБ не минимизировано. Библиотека сжатия данных, только для синхронизации пользовательских механизмов)
Copyright (c) 2021, Rotem Dan
Released under the MIT license.
Туманное озеро (37 КБ, веб-страница. Фоновое изображение по умолчанию)
Куанг Нгуен Винь
Значок Юниконов (svg)
Юниконы от Iconscout
Поскольку в настоящее время поддерживается только 2 языка, фреймворк еще не используется, только простая функция для реализации многоязычности.
Для строк, которые вы хотите, чтобы они были многоязычными (также можно оставить только английский), используйте функцию JS i18n()
, входные параметры которой могут быть:
[0]
— китайский, [1]
— английский{zh: "This is Chinese, en: "This is English", fr: "This is French"}
Он вернет строку соответствующего языка
Если вы хотите добавить поисковую систему, ориентированную только на пользователей на определенном языке, вы можете visible_lang
, чтобы сделать ее видимой только для определенного языка.
Часть кода этого инструмента датируется примерно 2008 годом. Веб-приложение опубликовано для общего использования в Интернете в 2015 году. Лишь в начале 2020-х годов я обнаружил, что webExtension и JS стандартизированы, поэтому сделал этот инструмент расширением для браузера и настройте для него репозиторий Github. (Да, это развивалось медленно и осторожно, не постоянно.)
Некоторый код когда-либо подвергался (и, возможно, все еще подвергается) рефакторингу. Несмотря на то, что в нем все еще есть устаревшие детали, этот инструмент всегда был современным, удобным и полезным .
Код доступен под лицензией AGPL.
Журнал изменений