Как создать функцию поиска по сайту в адресной строке Chrome?


11

Когда вы заходите на stackoverflow.com в Google Chrome и ставите пробел перед последним символом, адресная строка меняется на ту, что на моем снимке экрана ниже.

После этого вы можете нажать Tab , и вы можете напечатать что - нибудь, и нажимая клавишу ВВОД приведет вас к странице поиска с вашего поиска: https://stackoverflow.com/search?q=anything.

Как я могу сделать то же самое для моего сайта?


Я предполагаю, что у них уже настроен поиск по сайту, и они просто хотят настроить Chrome так, как это делает StackOverflow. Если это так, то это очень ответственный вопрос, не слишком широкий.
Стивен Остермиллер

3
Похоже, кто-то на форумах по продуктам Google понял это: productforums.google.com/forum/#!msg/chrome/8EFOmC6pNLs/…
Стивен Остермиллер

Дамит, ты хочешь добавить поиск по сайту из адресной строки или просто поиск по сайту с автозаполнением?
Скотт С. Уилсон

1
Сейчас я слишком ленив, чтобы написать хороший ответ, поэтому вот две ссылки: opensearch.org/Documentation/Frequently_asked_questions и о реализации этого см .: opensearch.org/Specifications/OpenSearch/…
Оскар Ског,

@ StefhenOstermiller Я перечитал вопрос. Виноват! Я имел в виду реализацию поиска по сайту и как-то упустил истинную природу вопроса. Это хороший вопрос. Ура !!
closetnoc

Ответы:


6

Предполагая, что у вас есть функция поиска на вашем сайте, вы можете воспользоваться функциональностью OpenSearch в Chrome.

Взято из документации Chromium :

Чтобы включить это для всех пользователей (даже тех, кто не использовал форму поиска):

На домашней странице вашего сайта предоставьте ссылку на описание документа OpenSearch. Ссылка на OSDD находится в заголовке HTML-файла. Например:

<head>
  <link type="application/opensearchdescription+xml"
        rel="search"
        href="url_of_osdd_file"/>
</head>

Важной частью этого документа является URL, используемый для поиска вашего сайта.

Ниже приведен пример, который содержит необходимый минимум, см. Спецификацию документа описания OpenSearch для списка значений, которые вы можете указать.

<?xml version="1.0"?>
<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/">
  <ShortName>Search My Site</ShortName>
  <Description>Search My Site</Description>
  <Url type="text/html" method="get"
       template="http://my_site/{searchTerms}"/>
</OpenSearchDescription>

Когда пользователь нажимает ввод в омнибоксе, строка {searchTerms} в URL заменяется строкой, введенной пользователем.

Вы также можете включить службу предложений, добавив еще один элемент URL, rel="suggestions"например:

<Url type="application/json"
     rel="suggestions"
     template="http://my_site/suggest?q={searchTerms}"
     />

Если вы включите это, омнибокс будет использовать вашу службу предложений для предоставления запросов на основе частичного запроса пользователя.

Если в окне поиска используется запрос GET, Chrome включит эту функцию для пользователей, которые ее используют.

Если на вашем сайте нет страницы поиска, это не сработает.

Реквизит Стивена для начальной ссылки.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.