2016-05-18 2 views
0

У меня есть пользовательская поисковая система, добавленная в Firefox панель поиска. Когда я вхожу туда, например. «Кто я?» он перейдет на поисковую систему как «Кто + am + It% 253F», а не ожидаемый «Кто + am + It% 3F». Результатом является то, что поисковая система возвращает пустой набор результатов.Почему "?" введенный в панель поиска Firefox, закодирован как «% 253F»

Он отлично работает напр. Хром.

Также пытался использовать другие поисковые системы OpenSearch, например. Wikipedia или DuckDuckGo в том же Firefox которые работают просто отлично.

У вас есть идеи, что может быть источником проблемы?

Похоже, что поискTerms кодируется дважды или что-то в этом роде.

Здесь XML используется

<?xml version="1.0"?> 
<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/"> 
    <ShortName>ShortName</ShortName> 
    <LongName>LongName</LongName> 
    <Description>Description</Description> 
    <Tags>discussions friends articles</Tags> 
    <Contact>[email protected]</Contact> 
    <Url type="text/html" method="get" template="URL?param=value&amp;query={searchTerms}"/> 
    <Image height="16" width="16" type="image/x-icon">URL/favicon.ico</Image> 
    <Image height="64" width="64" type="image/png">URL/nikoscope64.png</Image> 
    <Query role="example" searchTerms="st" /> 
    <AdultContent>false</AdultContent> 
    <Language>en-us</Language> 
    <InputEncoding>UTF-8</InputEncoding> 
    <OutputEncoding>UTF-8</OutputEncoding> 
</OpenSearchDescription> 

ответ

0

Источник вопроса, кажется, Url.template, который был направлен на страницу результатов с использованием HTTP протокол, даже если сервер был запущен на протокол HTTPS .

Изменение этой части:

<Url type="text/html" method="get" template="http://SOME_DOMAIN?param=value&amp;query={searchTerms}"/> 

в

<Url type="text/html" method="get" template="https://SOME_DOMAIN?param=value&amp;query={searchTerms}"/> 

проблема решена. Обратите внимание, что для освобождения вашего браузера кеша недостаточно, чтобы получить новую версию OpenSearch XML. Нужно удалить и повторно добавить поисковую систему