У вас часто возникает необходимость найти информацию на сайте, который открыт в браузере в данный момент? На большинстве сайтов есть поиск, но не всегда он хорош, удобен и привычен. Из этой статьи вы узнаете, как быстро выполнить поиск по текущему сайту с помощью любимого поискового движка.
Как это работает
Все популярные поисковые движки поддерживают оператор site, с помощью которого поиск выполняется только по определенному сайту. Например, запрос
site:outsidethebox.ms проводник
найдет в моем блоге все страницы, на которых упоминается слово «проводник». Эту возможность мы и задействуем для создания собственного поиска по сайту в браузерах на движке Chromium и Opera 12. Они умеют самостоятельно создавать пользовательские поиски, что очень удобно. При этом они умеют обрабатывать JavaScript в адресе такого поиска, и этот факт можно использовать для добавления поиска по сайту.
В качестве поискового адреса мы будем использовать такую строку:
javascript:location.href='http://www.google.com/search?q='+'site:' + window.location.hostname +'%20%s';
В ней сначала указывается поисковый сервис, а затем с помощью JavaScript подставляется адрес текущего сайта и поисковый запрос, обозначаемый символами %s (%20 — это символ пробела).
Эту строку легко изменить для использования другого поискового сервиса. Например, поиск в Яндекс будет осуществляться так:
javascript:location.href='http://yandex.ru/yandsearch?text='+'site:' + window.location.hostname +'%20%s';
Вы можете подставить любой поисковый сервис, выполнив на его сайте запрос и посмотрев, какой формат имеет ссылка на результаты поиска.
Давайте теперь посмотрим, как использовать данную возможность в Chrome и Opera, а также альтернативные варианты реализации этой функции в Firefox и Internet Explorer.
Браузеры на движке Chromium (Google Chrome, Opera, Yandex Browser)
Доступ к настройкам поисковых сервисов в Chromium осуществляется из адресной строки.
- Щелкните правой кнопкой мыши в адресной строке и выберите из меню пункт Изменить поисковые системы.
- В открывшемся окне введите:
- название поиска, например, Google по сайту
- незанятое ключевое слово для поиска, например, s
- URL для поиска (см. код выше)
Все готово! Теперь зайдите на любой сайт и введите в адресную строку ключевое слово поиска s, а затем пробел или клавишу TAB. Браузер распознает ключевое слово в качестве поиска, что сразу отобразится в адресной строке. Остается ввести запрос и нажать клавишу Enter.
Вы можете использовать привычные операторы поиска, которые поддерживает поисковый сервис. Например, запрос
проводник –ошибка
найдет все страницы, где встречается слово «проводник», исключая страницы со словом «ошибка».
Для Chrome также существует дополнение Search This Site, если вы предпочитаете расширять возможности браузера, не вникая в подробности.
Mozilla Firefox
Mozilla Firefox поддерживает добавление поисковиков только в качестве дополнений. Неудивительно, что расширение Поиск по сайту уже существует. Оно сразу настроено для работы с популярными поисковиками. Находясь на сайте, достаточно выбрать поисковую систему из списка (как обычно) и щелкнуть красный значок лупы.
Будет выполнен поиск по сайту с помощью выбранного поисковика. Дополнительным бонусом является интеграция поиска по сайту в контекстное меню страницы – это позволяет быстро найти выделенное слово на всем сайте.
Возможно, существуют и другие дополнения с аналогичной функцией. Я лишь привел первое подходящее.
В Firefox вы также можете использовать поисковые панели, о которых пойдет речь на примере Internet Explorer.
Internet Explorer
В браузер Microsoft поставщиков поиска можно добавлять только в рамках формата OpenSearch, и JavaScript туда не пристроить. Можно добавить поиск по любимому сайту, да и готовых поисковых дополнений для IE9 множество. Но все они ищут по каким-либо конкретным сайтам (по крайней мере, мне не удалось найти дополнение для поиска по текущему сайту).
Самый простой вариант – это использование поисковой панели, например, Google Toolbar. В ней множество различных функций, а среди них есть поиск по сайту.
Аналогичная возможность есть и в Яндекс.Бар.
Opera 12
В старом браузере Opera все очень похоже на то, как это делается в Google Chrome, но есть нюансы. Сначала добавим поиск.
- Нажмите сочетание клавиш ALT+P, чтобы открыть настройки, и перейдите на вкладку Поиск.
- Нажмите кнопку Добавить и введите:
- название поиска, например, Google по сайту
- незанятое ключевое слово для поиска, например, s
- адрес для поиска (см. выше)
И здесь начинаются нюансы, связанные с кириллическими поисковыми запросами. По какой-то причине Opera присваивает созданному таким образом поиску кодировку KOI8-R, после чего кириллические запросы не работают. Впрочем, это легко исправить в файле search.ini.
- Если у вас Opera установлена для всех пользователей, откройте файл
%AppData%\opera\opera\search.ini
В противном случае введите в адресную строку opera:about и посмотрите путь к файлу настроек. Файл search.ini найдется в той же папке – откройте его двойным щелчком мыши. - В файле search.ini найдите добавленный вами поиск и замените значение параметра Encoding на utf-8. Перед сохранением файла обязательно закройте браузер.
[Search Engine 99] UNIQUEID=6593DE0076D97A4587A553A73709EBB1 Name=Google по сайту Verbtext=0 URL=javascript:location.href='http://www.google.com/search?q='+'site:' + window.location.hostname +' %s'; Query= Key=s Is post=0 UseTLD=0 Has endseparator=0 Encoding=utf-8 Search Type=0
Второй нюанс правильной работы кириллических запросов связан с языком браузера. Как выяснилось, они работают только в том случае, если браузер настроен на русский язык.
Если у вас английская версия браузера, вы можете загрузить русский языковой файл с этой страницы.
Теперь зайдите на любой сайт и введите в адресную строку ключевое слово поиска s, а затем пробел и запрос. Браузер распознает поисковый запрос и вам останется лишь нажать Enter, чтобы выполнить поиск.
Для Opera также существует расширение InSite Search, но я не проверял его работу. Судя по комментариям, проблемы с кириллическими запросами в нем есть.
Как видите, во всех популярных браузерах можно добавить поиск по текущему сайту с помощью дополнений. Если честно, то я предпочитаю расширять возможности любимого браузера вручную, и обращаюсь к дополнениям только при необходимости. Во-первых, это помогает мне лучше узнать возможности браузера, а во-вторых позволяет избежать зависимости от автора дополнения. А сколько готовых дополнений установлено в вашем браузере?
Юзер16
Ку!
Крутой метод , класна с ява скирпт замутил.
Могу сделать кнопку для хрома .
ПыСы : откуда хром? я думал что вы на мелкософт фапаете
Vadim Sterkin
Я плохо понимаю по-албански, но думаю, что ответ на ваш вопрос здесь :)
Алекс
Вадим! представьте и я тоже плохо по албански)))))))))…Кстати лично мое мнение(имхо) вроде так..Не стоит тут про другие браузеры писать,иначе флуда как пить дай..Лично я по «Лису» столько тут советов дать могу( и возможно бы приз забрал) , и причем без расширений..Сам испытал более 2-ух тысяч расширений , но мне проще через about.config …
Vadim Sterkin
Ну почему же.. В «серии пенальти» по соседству флуда не наблюдается. А все потому, что рассказать внятно что-то хорошее про любимый браузер оказывается труднее, чем говорить плохое про IE :)
Так расскажите :) Пришлите мне хорошую и интересную статью, и я опубликую ее в блоге.
okshef
Вадим, спасибо. Проверил InSiteSearch — проблем не наблюдал.
Vadim Sterkin
okshef, на здоровье. Ленивый ты :)