الإنجليزية | 中文
يمكنك استخدام/تبديل أي محرك بحث واحد أو أكثر (دون انقطاع) بسهولة (أو البحث في أي مواقع ويب).
ودية للمبتدئين، مرضية للخبراء. للاستخدام اليومي والترفيه والعمل.
يتضمن الميزات الأساسية التي يجب أن تتوفر في أداة بحث الويب متعددة المحركات:
وهكذا. إلى جانب الميزات الأساسية المذكورة أعلاه، يمكنه أيضًا :
وهكذا... استمر في القراءة التمهيدية
ابحث في كل مكان ️ عن كل شيء . اتساع والتركيز.
طرق الاستخدام:
ملحق المتصفح ( مستحسن )
تطبيق الويب: للأغراض التجريبية. لا يمكن أن يعمل تطبيق الويب بشكل كامل مثل الامتداد. يمكن استخدام تطبيق الويب على متصفحات الهاتف المحمول.
استخدم الامتداد | اتساع والتركيز | نمط واجهة المستخدم للاختيار |
---|---|---|
بحث اختيار السياق | تعديلات مختلفة لواجهة المستخدم | فيم (مثل الفيميوم) |
تحرير محركات البحث | طرق بحث خاصة ومرونة وقابلية للتوسعة | |
فيديو المقدمة والتعليمات الكاملة (يوتيوب) (اختر الفصل الذي تريد مشاهدته):
مفيد عندما تريد على سبيل المثال ترجمة المقالة
- لا يوجد في وضع التصفح المتخفي في Firefox (الخطأ رقم 1380812)
Ctrl+Alt+S
كروم وغيرها: Ctrl+Shift+S
Ctrl+Alt+D
كروم وغيرها: Ctrl+Shift+D
التغيير على فايرفوكس | التغيير على Chrome:
chrome://extensions/shortcuts
إذا كنت قد استخدمت !bang
أو omnibox، فسيطلبون منك حفظ الرموز.
في حين أن وضع 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 العام هو:
بحث Big Search في عرض Ajax داخل الصفحة هو:
يمكن استخدام ميزة البحث في In-page-Ajax-render للبحث في مواقع الويب التي لا توفر واجهة بحث 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+ حاليا. انظر قائمة محركات البحث المدمجة
مقارنة أدوات البحث على الويب مفتوحة المصدر (متعددة المحركات).
قد يفضل المستخدمون ذوو الخبرة المقارنة الأفقية البديهية لمعرفة ما هو مميز بسرعة. (تعرف أيضًا على الآخرين بالمناسبة)
أداة تحرير محرك واجهة المستخدم الرسومية عبر الإنترنت (الرابط 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 التعامل مع مواقع العرض In-page-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 كيلو بايت webp. صورة الخلفية الافتراضية)
بواسطة كوانج نجوين فينه
أيقونة يونيكونز (svg)
Unicons بواسطة Iconscout
نظرًا لوجود لغتين فقط مدعومتين حاليًا، لم يتم استخدام إطار عمل حتى الآن، فقط وظيفة بسيطة لتنفيذ متعدد اللغات.
بالنسبة للسلاسل التي تريدها أن تكون متعددة اللغات (لا بأس أن تتركها باللغة الإنجليزية فقط أيضًا)، استخدم وظيفة JS i18n()
، والتي يمكن أن تكون معلمات الإدخال الخاصة بها:
[0]
هي الصينية، [1]
هي الإنجليزية{zh: "This is Chinese, en: "This is English", fr: "This is French"}
سيعود سلسلة من اللغة المقابلة
إذا كنت تريد إضافة محرك بحث يستهدف المستخدمين بلغة معينة فقط، فيمكنك استخدام visible_lang
لجعله مرئيًا للغة معينة فقط.
يمكن إرجاع جزء من كود هذه الأداة إلى عام 2008 تقريبًا. تم نشر تطبيق الويب ليكون قابلاً للاستخدام للعامة على الإنترنت في عام 2015. وحتى أوائل عام 2020، وجدت أن webExtension وJS موحدان، لذلك جعلت هذه الأداة امتدادًا للمتصفح و قم بإعداد Github repo لذلك. (نعم، لقد تم تطويره ببطء ولطف، وليس بدوام كامل.)
تمت إعادة هيكلة بعض التعليمات البرمجية (وربما لا تزال قيد التنفيذ). على الرغم من أنه لا تزال هناك بعض الأجزاء القديمة، إلا أن هذه الأداة كانت دائمًا حديثة وسهلة الاستخدام ومفيدة .
الكود مرخص بموجب AGPL.
تغيير السجل