У нас есть интранет-сайт для поиска информации о клиентах.Этот веб-сайт пытается внедрить OpenSearch с расширением предложений, как описано в http://www.opensearch.org/Specifications/OpenSearch/Extensions/Suggestions/1.1#Declaring_a_JSON-formatted_search_suggestion_URL.
In /index.html:
<link rel="search" type="application/opensearchdescription+xml" title="XXX" href="/opensearch.xml" />
In /opensearch.xml:
<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/" xmlns:moz="http://www.mozilla.org/2006/browser/search/">
<ShortName>XXX</ShortName>
<Description>XXX</Description>
<InputEncoding>UTF-8</InputEncoding>
<Image width="16" height="16" type="image/x-icon">
https://XXX/favicon.ico
</Image>
<Url rel="results" type="text/html" method="get" template="https://XXX/search.php?q={searchTerms}"/>
<Url rel="suggestions" type="application/x-suggestions+json" method="get" template="https://XXX/opensearch-suggestions.php?q={searchTerms}"/>
</OpenSearchDescription>
Затем opensearch-Sugges.php возвращает статический ответ:
["a@b.c",["a@b.c"],["XXX"],["XXX.php?email=a@b.c"]]
Мы можем успешно заставить Safari отправить запрос на нужную страницу.Тем не менее, при наборе подсказки приходят от DuckDuckGo, а не от нашей поисковой системы.
Контрольный пример:
- Использование macOS + Safari
- Command-N (новое окно,фокусируется на панели URL)
- Введите URL-адрес нашей интрасети (в строке URL-адреса отображается "Самое популярное: (URL-адрес)")
- Нажмите TAB (строка URL-адреса изменяется на "Поиск (URL-адрес)")
- Введите поисковый запрос, например, aaa
Ожидаемый результат:
XXX - это предложение автозаполнения (см. Opensearch-Sugges.php выше)
Фактический результат:
В строке URL-адреса отображаются «Предложения DuckDuckGo» и некоторые предложения DDG.
Мы неправильно это реализовали?Есть ли несовместимость, которая помешает нам реализовать этот стандарт?