OpenSearch описание документа обнаружения и Chrome - PullRequest
7 голосов
/ 28 декабря 2011

Я пытаюсь выяснить, как объявить конечную точку поиска моего веб-приложения с помощью OpenSearch (см. http://www.opensearch.org/Specifications/OpenSearch/1.1#OpenSearch_description_document),, но даже мой самый простой пример не работает. У меня есть index.html с:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" dir="ltr">
    <head profile="http://a9.com/-/spec/opensearch/1.1/">
        <link title="Search" rel="search" type="application/opensearchdescription+xml" href="osdd.xml"/>
    </head>
    <body>
        hello
    </body>
</html>

И osdd.xml, содержащее:

<?xml version="1.0" encoding="UTF-8"?>
<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/" xmlns:moz="http://www.mozilla.org/2006/browser/search/">
    <ShortName>test</ShortName>
    <Description>test</Description>
    <Url type="text/html" template="http://example.com?q={searchTerms}"/>
</OpenSearchDescription>

Но, похоже, ничего не работает. Поведение Chrome на вкладке поиска не отображается, и при использовании инструментов разработчика Chrome, похоже, не загружается osdd.xml вообще.

Есть какие-нибудь подсказки?

Ответы [ 3 ]

6 голосов
/ 01 февраля 2012

Загрузка файла osdd.xml не отображается на вкладке «Инструменты разработчика»> «Сеть».

http://code.google.com/p/chromium/issues/detail?id=58801#c3 (комментарий 3) упоминает, что вам необходимо выполнить поиск хотя бы один раз, чтобы добавить поисковую систему.

Я также обнаружил, что вам необходимо удалить существующие поисковые системы из меню «Настройки»> «Управление поисковыми системами» и перезапустить браузер, чтобы увидеть последствия изменений в файле osdd.

2 голосов
/ 14 мая 2015

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

В моем случае файл XML отсутствовал в UTF-8, поэтому он неправильно загружается Chrome. Пожалуйста, убедитесь, что ваш файл на UTF-8.

Ура! * * 1005

0 голосов
/ 02 октября 2018

Добавление более свежей информации здесь.Я не смог найти никаких формальных доказательств этого, но похоже, что Chrome на Android изменил логику того, когда показывать новый поисковик в настройках, где-то в сентябре 2018 года. До этого он раньшеработать, когда пользователь просто перешел на сайт.После этого изменения поисковая система не сразу появилась в настройках.Мне удалось заставить его работать, если я захожу на свой сайт, на котором есть открытый метатег поиска.Затем перейдите на другой сайт, а затем вернитесь.Он появился только во второй раз.Чтобы было проще для пользователя, я добавляю скрытый iframe, который перенаправляет на другой сайт (которым я управляю), и на этом сайте я добавил перенаправление на исходный сайт через 2 секунды.Кажется, он работает на всех протестированных мной устройствах (на нескольких устройствах Samsung).

Я видел комментарии здесь , в которых говорится, что документ opensearch будет просматриваться только тогда, когда пользователь находится накорневой узел (mysite.com/, но не mysite.com/foo).Мой сайт следит за этим комментарием, и я не пробовал иначе, поэтому я не могу одобрить или отклонить, если это важно.

...