Anglais | Chine
Utilisez/changez facilement un ou plusieurs moteurs de recherche (sans interruption) (ou recherchez n’importe quel site Web).
Convivial pour les novices, satisfaisant pour les experts. Pour le quotidien, le divertissement et le travail.
Comprend les fonctionnalités de base qu'un outil de recherche Web multimoteur devrait avoir :
et ainsi de suite. Outre les fonctionnalités de base ci-dessus, il peut également :
et ainsi de suite... Continuez pour readme
Rechercher partout ?️ pour tout ?. Ampleur et concentration.
Modes d'utilisation :
Extension de navigateur ( recommandée )
Web App : À des fins de démonstration. L'application Web ne peut pas fonctionner pleinement comme une extension. L'application Web peut être utilisée sur les navigateurs mobiles.
Utiliser l'extension | Étendue et concentration | Style d'interface utilisateur au choix |
---|---|---|
Recherche de sélection de contexte | Différentes adaptations de l'interface utilisateur | Vem (semblable à Vimium) |
Modifier les moteurs de recherche | Méthodes de recherche spéciales, flexibilité et extensibilité | |
Vidéo de l'introduction complète et des instructions (Youtube) (choisissez le chapitre que vous souhaitez regarder) :
Utile lorsque, par exemple, vous souhaitez traduire un article
- Non en mode navigation privée de Firefox (bug 1380812)
Ctrl+Alt+S
Chrome et autres : Ctrl+Shift+S
Ctrl+Alt+D
Chrome et autres : Ctrl+Shift+D
changement sur Firefox | changement sur Chrome :
chrome://extensions/shortcuts
Si vous avez utilisé !bang
ou omnibox, ils vous demandent de mémoriser des codes.
Tandis que le mode Vem de Big Search vous offre visuellement la commodité et la possibilité d'utiliser le clavier pour cliquer (sans interruption) sur les différents boutons des différents moteurs de recherche. Appuyez sur Shift+Enter
pour passer en mode Vem
Clé | Fonction |
---|---|
Shift+Enter | Terminez la saisie et entrez en mode Vem (utilisé lorsque vous n'êtes pas en mode Vem) |
Shift+Enter | Opposé à ci-dessus (utilisé en mode Vem) |
I | Quittez le mode Vem et concentrez-vous sur la zone de saisie |
1 - 9 | Changer de catégorie (en mode Vem) |
A - Z | Appuyer sur le bouton correspondant (en mode Vem) |
J & K | Faire défiler le tableau vers le bas/vers le haut |
d'autres à ajouter... |
Les raccourcis clavier ci-dessus ne sont pas formellement déterminés. Peut changer à l'avenir selon les commentaires des utilisateurs
Notez que si de nouveaux moteurs sont ajoutés, la séquence des boutons peut changer, tout comme la touche du bouton ( A
- Z
).
UN:
Le flux de recherche général GET/POST est :
La recherche de rendu Ajax sur la page de Big Search est :
La fonction de recherche de rendu Ajax sur la page peut être utilisée pour rechercher des sites Web qui ne fournissent pas d'interface de recherche GET/POST au public (par exemple, les sites Web SPA) ou ceux qui nécessitent un jeton aléatoire attribué lors d'un formulaire d'entrée de recherche.
"In-page-Ajax-render" est l'abréviation de " In-page -submit-form-via- Ajax -then-XHR-gets-search-result-then -rend -and-show-in-page-without-web -frame-navigation"
Cette partie est également expliquée dans la description de la vidéo
60+, actuellement. Voir la liste des moteurs de recherche intégrés
Comparaison des outils de recherche Web open source (multi-moteurs)
Les utilisateurs expérimentés préféreront peut-être une comparaison horizontale intuitive pour savoir rapidement ce qui est spécial. (Connaissez aussi les autres d'ailleurs)
Outil d'édition de moteur d'interface graphique en ligne (lien 1) (lien 2)
Généralement, utilisez l’éditeur GUI ci-dessus. Si vous ne souhaitez pas utiliser l'interface graphique (par exemple, vous êtes un utilisateur avancé et souhaitez utiliser des fonctionnalités avancées), veuillez continuer et lire ci-dessous.
Les utilisateurs de Big Search peuvent modifier les moteurs de recherche par programmation. Les paragraphes suivants de cette section concernent la spécification des données du moteur au format JSON. Pour les deux :
enginesdata.js
) Il vous suffit d'écrire du JSON très simple et d'avoir des connaissances HTTP de base sur GET Method
.
{
"Google" : " https://www.google.com/search?q={0} " ,
"Yahoo Search" : " https://search.yahoo.com/search?q={0} "
}
Bien que ce qui précède soit simple et correct, si vous êtes programmeur, il n'est pas recommandé d'utiliser le nom d'affichage comme clé. Il faudrait au moins, par exemple :
{
"yahoo" : {
"dname" : " Yahoo Search " ,
"full_url" : " https://search.yahoo.com/search?q={0} "
}
}
En utilisant le format complet, vous avez la possibilité d'utiliser toutes les fonctionnalités de cet outil.
De plus, le mélange d'éléments formatés courts et complets est pris en charge.
{
"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 " ]
}
}
}
}
Cette partie est également expliquée dans la description de la vidéo
Au format JSON.
Les données du moteur au format complet peuvent contenir les valeurs-clés suivantes (méthodes de recherche spéciales incluses) :
// # 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
},
....
}
},
}
Cette partie est également expliquée dans la description de la vidéo
Certains sites Web ne proposent pas de recherche GET/POST (ou ne répondent pas aux résultats en HTML). Le visiteur doit ouvrir sa page puis saisir, il affiche ensuite les résultats via Ajax sur sa page. (voir FAQ)
Big Search peut gérer de tels sites Web à rendu Ajax sur la page (en injectant js dans votre navigateur Web, pour automatiser la saisie, le clic et la soumission de formulaires). Et facile à configurer :
Par exemple 1 : Spécifiez le sélecteur CSS de la zone de saisie. Il saisira automatiquement le terme de recherche et déclenchera l’événement en appuyant sur Entrée.
"ajax" : " #search-box-input "
Par exemple 2 : Délai 2 s -> Entrée -> Délai 1 s -> Événement du bouton de clic de déclenchement
"ajax" : [ 2000 , " #search-box-input " , 1000 , " #submit-button " ]
Cette partie est également expliquée dans la description de la vidéo
Nous encourageons les utilisateurs à soumettre leurs données de moteurs de recherche personnalisées au code source après les avoir formatées au format JSON (soumettre dans le fichier
enginesdata.js
).
Cet outil peut encore être amélioré pour faire quelque chose de plus :
Rapide et léger : PAS de dépendances lourdes en matière de framework ou de bibliothèque. Bien qu'il comporte des thèmes d'interface utilisateur à la fois simples et sophistiqués, toutes les fonctionnalités principales et l'interface utilisateur sont purement JS + CSS.
LZ-UTF8.js (38 Ko non réduits. Bibliothèque de compression de données, uniquement pour la synchronisation des moteurs personnalisés par l'utilisateur)
Copyright (c) 2021, Rotem Dan
Released under the MIT license.
Foggy Lake (page Web de 37 Ko. Photo d'arrière-plan par défaut)
par Quang Nguyen Vinh
Icône Unicons (svg)
Unicons par Iconscout
Parce qu'il n'y a actuellement que 2 langages pris en charge, aucun framework n'est encore utilisé, seulement une simple fonction pour implémenter le multi-langue.
Pour les chaînes que vous souhaitez multilingues (vous pouvez également les laisser uniquement en anglais), utilisez la fonction JS i18n()
, dont les paramètres d'entrée peuvent être :
[0]
est le chinois, [1]
est l'anglais{zh: "This is Chinese, en: "This is English", fr: "This is French"}
Il renverra une chaîne de la langue correspondante
Si vous souhaitez ajouter un moteur de recherche qui cible uniquement les utilisateurs dans une certaine langue, vous pouvez utiliser visible_lang
pour le rendre visible uniquement dans une certaine langue.
Une partie du code de cet outil remonte à environ 2008. Application Web publiée pour être utilisable par le public sur Internet en 2015. Ce n'est qu'au début des années 2020 que j'ai trouvé webExtension et JS standardisés, j'ai donc fait de cet outil une extension de navigateur et configurez un dépôt Github pour cela. (Oui, cela s'est développé lentement et doucement, pas à plein temps.)
Certains codes ont déjà été (et pourraient encore l'être) refactorisés. Bien qu'il y ait encore quelques pièces anciennes, cet outil a toujours été moderne, pratique et utile .
Le code est sous licence AGPL.
Journal des modifications