Englisch | 中文
Einfaches Verwenden/Wechseln einer oder mehrerer Suchmaschinen (ununterbrochen) (oder Durchsuchen beliebiger Websites).
Freundlich für Anfänger, zufriedenstellend für Experten. Für Alltag, Unterhaltung und Arbeit.
Enthält grundlegende Funktionen , die ein Websuchtool mit mehreren Suchmaschinen haben sollte:
und so weiter. Neben den oben genannten Grundfunktionen kann es auch :
und so weiter... Lesen Sie weiter
Überall ?️ nach allem suchen ?. Breite und Fokus.
Verwendungsmöglichkeiten:
Browsererweiterung ( empfohlen )
Web-App: Für Demozwecke. Die Web-App kann nicht vollständig wie eine Erweiterung funktionieren. Die Web-App kann in mobilen Browsern verwendet werden.
Verwenden Sie die Erweiterung | Breite und Fokus | UI-Stil wählbar |
---|---|---|
Kontextauswahlsuche | Verschiedene UI-Anpassungen | Vem (Vimium-ähnlich) |
Suchmaschinen bearbeiten | Spezielle Suchmethoden, Flexibilität und Erweiterbarkeit | |
Video mit vollständiger Einführung und Anleitung (Youtube) (wählen Sie das Kapitel aus, das Sie ansehen möchten):
Nützlich, wenn Sie beispielsweise einen Artikel übersetzen möchten
- Nein im Inkognito-Modus von Firefox (Fehler 1380812)
Ctrl+Alt+S
Chrome und andere: Ctrl+Shift+S
Ctrl+Alt+D
Chrome und andere: Ctrl+Shift+D
auf Firefox ändern | Änderung in Chrome:
chrome://extensions/shortcuts
Wenn Sie !bang
oder omnibox verwendet haben, müssen Sie sich Codes merken.
Der Vem-Modus von Big Search bietet Ihnen visuell Komfort und die Möglichkeit, mit der Tastatur (ununterbrochen) auf die verschiedenen Schaltflächen verschiedener Suchmaschinen zu klicken. Drücken Sie Shift+Enter
um in den Vem-Modus zu gelangen
Schlüssel | Funktion |
---|---|
Shift+Enter | Beenden Sie die Eingabe und wechseln Sie in den Vem-Modus (wird verwendet, wenn Sie sich nicht im Vem-Modus befinden). |
Shift+Enter | Gegenteil zu oben (wird im Vem-Modus verwendet) |
I | Verlassen Sie den Vem-Modus und fokussieren Sie das Eingabefeld |
1 - 9 | Kategorie wechseln (im Vem-Modus) |
A - Z | Drücken Sie die entsprechende Taste (im Vem-Modus) |
J & K | Tabelle nach unten/oben scrollen |
es kommt noch mehr hinzu ... |
Die oben genannten Tastenbelegungen sind nicht formal festgelegt. Kann sich je nach Benutzerfeedback in Zukunft ändern
Beachten Sie, dass sich die Tastenreihenfolge ändern kann, wenn neue Motoren hinzugefügt werden, z. B. als Tastentaste ( A
– Z
).
A:
Der allgemeine GET/POST-Suchablauf ist:
Die In-Page-Ajax-Rendering-Suche von Big Search lautet:
Die In-Page-Ajax-Render-Suchfunktion kann zum Durchsuchen von Websites verwendet werden, die keine GET/POST-Suchschnittstelle für die Öffentlichkeit bereitstellen (z. B. SPA-Websites) oder die die Zuweisung eines zufälligen Tokens in einem Sucheingangsformular erfordern.
„In-page-Ajax-render“ ist die Abkürzung für „ In-page -submit-form-via -Ajax -then-XHR-gets-search-result-then -render -and-show-in-page-without-web“. -Frame-Navigation"
Dieser Teil wird auch in der Videobeschreibung erklärt
Derzeit 60+. Siehe Liste der integrierten Suchmaschinen
Vergleich von Open-Source-Websuchtools (mehrere Engines).
Erfahrene Benutzer bevorzugen möglicherweise einen intuitiven horizontalen Vergleich, um schnell zu erkennen, was das Besondere ist. (Wissen Sie übrigens auch von anderen)
Online-Tool zur Bearbeitung der GUI-Engine (Link 1) (Link 2)
Verwenden Sie im Allgemeinen den oben genannten GUI-Editor. Wenn Sie die GUI nicht verwenden möchten (z. B. wenn Sie ein fortgeschrittener Benutzer sind und erweiterte Funktionen nutzen möchten), lesen Sie bitte weiter unten.
Benutzer von Big Search können Suchmaschinen programmgesteuert bearbeiten. In den folgenden Abschnitten dieses Abschnitts geht es um die Spezifikation von Engine-Daten im JSON-Format. Für beide:
enginesdata.js
) Sie müssen nur sehr einfaches JSON schreiben und über grundlegende HTTP-Kenntnisse zur GET Method
verfügen.
{
"Google" : " https://www.google.com/search?q={0} " ,
"Yahoo Search" : " https://search.yahoo.com/search?q={0} "
}
Obwohl das oben Genannte einfach und richtig ist, wird es für Programmierer nicht empfohlen, den Anzeigenamen als Schlüssel zu verwenden. Wir sollten zum Beispiel zumindest:
{
"yahoo" : {
"dname" : " Yahoo Search " ,
"full_url" : " https://search.yahoo.com/search?q={0} "
}
}
Im Vollformat haben Sie die Möglichkeit, alle Funktionen dieses Tools zu nutzen.
Außerdem wird das Mischen kurzformatierter und vollständig formatierter Elemente unterstützt.
{
"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 " ]
}
}
}
}
Dieser Teil wird auch in der Videobeschreibung erklärt
Im JSON-Format.
Engine-Daten im Vollformat können folgende Schlüsselwerte enthalten (einschließlich spezieller Suchmethoden):
// # 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
},
....
}
},
}
Dieser Teil wird auch in der Videobeschreibung erklärt
Einige Websites bieten keine GET/POST-Suche (oder antworten nicht auf Ergebnisse in HTML). Der Besucher muss seine Seite öffnen und dann etwas eingeben. Anschließend werden die Ergebnisse über Ajax auf seiner Seite angezeigt. (siehe FAQ)
Big Search kann mit solchen In-Page-Ajax-Rendering-Websites umgehen (indem es js in Ihr Browser-Web einfügt, um die Eingabe, das Klicken und das Absenden von Formularen zu automatisieren). Und einfach zu konfigurieren:
Beispiel 1: Geben Sie den CSS-Selektor des Eingabefelds an. Der Suchbegriff wird automatisch eingegeben und das Drücken der Eingabetaste ausgelöst.
"ajax" : " #search-box-input "
Beispiel 2: Verzögerung 2 s -> Eingabe -> Verzögerung 1 s -> Ereignis beim Klicken auf die Schaltfläche auslösen
"ajax" : [ 2000 , " #search-box-input " , 1000 , " #submit-button " ]
Dieser Teil wird auch in der Videobeschreibung erklärt
Wir empfehlen Benutzern, ihre benutzerdefinierten Suchmaschinendaten nach der Formatierung als JSON an den Quellcode zu übermitteln (an die Datei
enginesdata.js
senden).
Dieses Tool kann noch verbessert werden, um noch mehr zu tun:
Schnell und leichtgewichtig : KEINE großen Framework- oder Bibliotheksabhängigkeiten. Obwohl es sowohl vereinfachte als auch ausgefallene UI-Themen gibt, sind alle Hauptfunktionen und die Benutzeroberfläche reines JS + CSS.
LZ-UTF8.js (38 KB nicht minimiert. Datenkomprimierungsbibliothek, nur für die Synchronisierung benutzerdefinierter Engines)
Copyright (c) 2021, Rotem Dan
Released under the MIT license.
Foggy Lake (37kB webp. Standard-Hintergrundfoto)
von Quang Nguyen Vinh
Unicons-Symbol (SVG)
Unicons von Iconscout
Da derzeit nur zwei Sprachen unterstützt werden, wird noch kein Framework verwendet, sondern nur eine einfache Funktion zur Implementierung von Mehrsprachenfunktionen.
Für Zeichenfolgen, die mehrsprachig sein sollen (es ist auch in Ordnung, sie nur auf Englisch zu belassen), verwenden Sie die JS-Funktion i18n()
, deren Eingabeparameter sein können:
[0]
ist Chinesisch, [1]
ist Englisch{zh: "This is Chinese, en: "This is English", fr: "This is French"}
Es wird eine Zeichenfolge der entsprechenden Sprache zurückgegeben
Wenn Sie eine Suchmaschine hinzufügen möchten, die nur auf Benutzer in einer bestimmten Sprache abzielt, können Sie visible_lang
verwenden, um sie nur für eine bestimmte Sprache sichtbar zu machen.
Ein Teil des Codes dieses Tools lässt sich bis in das Jahr 2008 zurückverfolgen. Die Web-App wurde 2015 veröffentlicht, um sie der Öffentlichkeit im Internet zugänglich zu machen. Erst Anfang der 2020er Jahre fand ich webExtension und JS standardisiert, also machte ich dieses Tool zu einer Browser-Erweiterung und Richten Sie ein Github-Repo dafür ein. (Ja, es entwickelt sich langsam und sanft, nicht in Vollzeit.)
Einige Codes wurden jemals umgestaltet (und werden möglicherweise noch immer umgestaltet). Obwohl es immer noch einige veraltete Teile gibt, war dieses Werkzeug immer modern, handlich und nützlich .
Der Code ist unter AGPL lizenziert.
Änderungsprotokoll