هلمز جستجوگر سریع و آسان صفحات شما

جستجو سریع و آسان در صفحات

شاید برای شما هم پیش اومده باشه که در یک صفحه شلوغ و پر از متن های مختلف، دنبال جمله خاصی بودید و در نهایت به واسطه جستجو مرورگرتون  (Ctrl+F) متن مورد نظر رو در صفحه پیدا کردید. حالا در برخی موارد این روش کاربرد چندانی نداره (مثلا در موبایل) و یا اینکه برخی از کاربران اینترنتی آشنایی چندانی با قابلیت های مرورگرشون ندارند و از طرفی جستجو در میان کوئری های سایت هم بار مضاعفی برای سرور شما خواهد داشت… پس حالا میفرمایید چیکار کنیم؟!؟

 خب، ساده است! کافیه که این موضوع رو به دستان پر توان هلمز بسپرید! هلمز، اسکریپتی سبک و ساده است که بدون نیاز به کتابخانه جی کوئری، کلیه متن های صفحه رو در سمت کاربر پردازش میکنه و نتیجه نهایی با حذف موارد اضافه به نمایش در میاد… همچنین، پیاده سازی هلمز هم بسیار ساده است و در چند قدم ساده میتونید این اسکریپت رو در صفحتون قرار بدید.


قدم اول:
اولین کاری که باید انجام بدید فراخوانی اسکریپت holmes.js در صفحه است که میتونید این فایل رو در صفحه گیتهاب پلاگین دانلود کنید و یا از شیوه نصب bower یا npm استفاده کنید که نمونه دستور npm به صورت زیر قابل استفاده است:

$ npm install --save holmes.js

قدم دوم:
در مرحله دوم باید طرفین فاعل و مفعول رو مشخص کنیم! فاعل همون جستجو کننده است که باید یک فیلد input باشه و مفعول هم در واقع بخشیه که فاعل اونجا رو مورد جستجوی خودش قرار میده. به عنوان مثال:

<div class="search">
<input type="search" placeholder="کلمه را وارد کنید" required>
</div>
<div class="results">
<blockquote>
سلام، امروز با یک آموزش جدید از دنیای برنامه نویسی در خدمت دوستان عزیز هستیم. در این...
</blockquote>
<blockquote>
دنیای وردپرس و برنامه نویسی برای اولین سال، برگزیده جشنواره وب و موبایل ایران شد. وبسایت...
</blockquote>
</div>

قدم سوم:
آخرین مرحله کار هم فراخوانی تابع اصلی homles در صفحه است که دو کلید مهم input  و find به ترتیب با سلکتورهای فاعل و مفعول مقدار دهی میشن. (البته این تابع آپشن های دیگه ای هم داره که میتونید جزئیات بیشترش رو در صفحه گیتهاب پلاگین مشاهده کنید)

holmes({
  input: '.search input', // default: input[type=search]
  find: '.results div' // querySelectorAll that matches each of the results individually
})

دیدگاه کاربران در مورد این نوشته

دیدگاه خود را بیان کنید