Как добавить поддержку google chrome omnibox для вашего сайта?

Когда я ввожу некоторые URL-адреса в Google omnibox, я вижу сообщение "Нажмите TAB для поиска в $URL". Например, есть некоторые русские сайты habrahabr.ru или yandex.ru. Когда вы нажимаете TAB, вы сможете искать на этом сайте, а не в своей поисковой системе. Как сделать мой сайт для этого? Может быть, мне нужно написать специальный код на страницах моего сайта?

Ответ 1

Chrome обычно обрабатывает это через пользовательские настройки. (через chrome://settings/searchEngines)

Однако, если вы хотите реализовать это специально для своих пользователей, вам нужно добавить OSD (Open Search Description) на ваш сайт.

Использование функции OmniBox [TAB] Google Chrome для личного веб-сайта?

Затем вы добавляете этот XML файл в корень вашего сайта и ссылаетесь на него в теге <head>:

<link rel="search" type="application/opensearchdescription+xml" title="Stack Overflow" href="/opensearch.xml" />

Теперь посетители вашей страницы автоматически будут размещать информацию о вашем сайте в внутренних настройках Chrome в chrome://settings/searchEngines.

Пример формата XML OpenSearchDescription

<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/" xmlns:moz="http://www.mozilla.org/2006/browser/search/">
<ShortName>Your website name (shorter = better)</ShortName>
<Description>
Description about your website search here
</Description>
<InputEncoding>UTF-8</InputEncoding>
<Image width="16" height="16" type="image/x-icon">your site favicon</Image>
<Url type="text/html" method="get" template="http://www.yoursite.com/search/?query={searchTerms}"/>
</OpenSearchDescription>

Важной частью является элемент <url>. {searchTerms} будет заменено тем, что пользователь ищет в omnibar.

Здесь для ссылки на ссылку OpenSearch.

Ответ 2

Внедрение поддержки omnibox с предложениями по поиску

Ответ, данный @element119, отлично работает, но вот слегка измененный код для поддержки предложений поиска, а также поддержки Mozilla.

Следуйте приведенным ниже инструкциям, чтобы реализовать поддержку omni box для вашего сайта.

  • Сохраните следующий код как search.xml
<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/" xmlns:moz="http://www.mozilla.org/2006/browser/search/">
  <script/>
  <ShortName>Site Name</ShortName>
  <Description>Site Description (eg: Search sitename)</Description>
  <InputEncoding>UTF-8</InputEncoding>
  <Image width="16" height="16" type="image/x-icon">Favicon url</Image>
  <Url type="application/x-suggestions+json" method="GET" template="http://suggestqueries.google.com/complete/search?output=firefox&amp;q={searchTerms}" />
  <Url type="text/html" method="GET" template="http://yoursite.com/?s={searchTerms}" />
  <SearchForm>http://yoursite.com/</SearchForm>
</OpenSearchDescription>
  1. Загрузите search.xml в корень вашего сайта.

  2. Добавьте на свой сайт тег <head> следующего метатега

<link rel="search" href="#" onclick="location.href='http://www.yoursite.com/search.xml'; return false;" type="application/opensearchdescription+xml" title="You site name"/>

Обязательно замените URL-адреса домена своим доменом.