英語 | 中文
輕鬆使用/切換任何一個或多個(不間斷)搜尋引擎(或搜尋任何網站)。
對新手友好,對專家滿意。適用於日常、娛樂和工作。
包含多引擎網路搜尋工具應具備的基本功能:
等等。除了以上基本功能外,它還可以:
等等...繼續閱讀自述文件
到處搜尋?廣度和重點。
使用方法:
瀏覽器擴充功能(推薦)
Web 應用程式:用於演示目的。 Web 應用程式無法像擴充功能一樣完全發揮作用。網路應用程式可以在行動瀏覽器上使用。
使用擴充 | 廣度和重點 | UI風格可選 |
---|---|---|
上下文選擇搜尋 | 不同的UI適配 | Vem(類似 Vimium) |
編輯搜尋引擎 | 特殊的搜尋方式,靈活性和可擴展性 | |
完整介紹和說明影片(Youtube)(選擇您要觀看的章節):
當例如想要翻譯文章時很有用
- Firefox 隱身模式下沒有(錯誤 1380812)
Ctrl+Alt+S
Chrome 及其他: Ctrl+Shift+S
Ctrl+Alt+D
Chrome 及其他: Ctrl+Shift+D
Firefox 上的變更 | Chrome 上的變更:
chrome://extensions/shortcuts
如果您使用過!bang
或多功能框,它們會要求您記住程式碼。
同時,Big Search 的 Vem 模式在視覺上讓您可以輕鬆使用鍵盤(不間斷地)點擊不同搜尋引擎的不同按鈕。按Shift+Enter
進入 Vem 模式
鑰匙 | 功能 |
---|---|
Shift+Enter | 完成輸入並進入Vem模式(非Vem模式時使用) |
Shift+Enter | 與上面相反(在 Vem 模式下使用) |
I | 退出 Vem 模式並聚焦輸入框 |
1 - 9 | 切換類別(Vem模式下) |
A - Z | 按下對應按鈕(Vem模式下) |
J K | 向下/向上捲動表格 |
更多待補充... |
上述按鍵綁定尚未正式確定。未來可能會根據用戶回饋進行更改
請注意,如果新增引擎,按鈕順序可能會發生變化,按鈕鍵( A
- Z
)也是如此。
一個:
一般的 GET/POST 搜尋流程是:
Big Search 的頁內 Ajax 渲染搜尋是:
頁內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」的縮寫-框架導航”
這部分在影片說明中也有解釋
目前60+。查看內建搜尋引擎列表
開源網路搜尋(多引擎)工具比較
有經驗的使用者可能更喜歡直觀的橫向比較,以快速了解什麼是特別的。 (順便說一句也了解其他人)
線上GUI引擎編輯工具(連結1)(連結2)
一般會使用上面的GUI編輯器。如果您不想使用GUI(例如您是高級用戶並希望使用高級功能),請繼續閱讀以下內容。
Big Search 使用者可以透過程式編輯搜尋引擎。本節的以下段落是關於 JSON 格式的引擎資料規格。對於兩者:
enginesdata.js
)您只需要編寫非常簡單的 JSON 並具有有關GET Method
的基本 HTTP 知識。
{
"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:延時2s->輸入->延時1s->觸發點擊按鈕事件
"ajax" : [ 2000 , " #search-box-input " , 1000 , " #submit-button " ]
這部分在影片說明中也有解釋
我們鼓勵用戶將自訂的搜尋引擎資料格式化為 JSON 後提交到原始程式碼(提交至檔案
enginesdata.js
)
這個工具仍然可以改進以做更多事情:
快速且輕量級:沒有沉重的框架或函式庫依賴性。雖然它的UI主題既簡單又華麗,但所有主要功能和UI都是純JS + CSS。
LZ-UTF8.js(38kB未縮小。資料壓縮庫,僅用於使用者自訂引擎同步)
Copyright (c) 2021, Rotem Dan
Released under the MIT license.
霧湖(37kB webp。預設背景照片)
作者:Quang Nguyen Vinh
統一圖示 (svg)
由 Iconscout 設計的 Unicons
因為目前只支援2種語言,還沒有使用框架,只有一個簡單的函數來實作多語言。
對於您希望它是多語言的字串(也可以只保留英語),請使用 JS 函數i18n()
,其輸入參數可以是:
[0]
為中文, [1]
為英文{zh: "This is Chinese, en: "This is English", fr: "This is French"}
對象它將傳回對應語言的字串
如果要新增僅針對某種語言的使用者的搜尋引擎,可以使用visible_lang
使其僅對某種語言可見。
這個工具的部分程式碼可以追溯到2008年左右。其設定一個Github 儲存庫。 (是的,它是緩慢而溫和地發展的,而不是全職的。)
有些程式碼已經被(並且可能仍在被)重構。雖然仍然有一些老化的部件,但這個工具一直是現代的、方便的和有用的。
代碼根據 AGPL 獲得許可。
變更日誌