2016-05-18 5 views
0

Firefoxに検索バーにカスタム検索エンジンが追加されました。私がそこに入るとき。 「私は誰ですか?「Who + am + It%253F」ではなく、「Who + am + It%3F」というカスタム検索エンジンに渡されます。その結果、検索エンジンは空の結果セットを返します。なぜ "?" Firefoxの検索バーに入力された "%253F"としてエンコードされます

クロム。

また、他のOpenSearch検索エンジンを試していました。 WikipediaまたはDuckDuckGo同じでFirefoxうまく動作します。

問題の原因となることはありますか?

searchTermsが2回エンコードされているようです。

はここで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

を使用されている問題の原因は、サーバがHTTPSプロトコルで実行されていたにもかかわらず、HTTPプロトコルを使用して結果ページを指したUrl.templateのようです。

この部分を変更する:

<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の新しいバージョンを取得するには不十分です。検索エンジン を削除して再度追加する必要があります

関連する問題