searchTerms 中的正斜杠在 opensearch.xml 中中断搜索 url
forward slashes in searchTerms break search url in opensearch.xml
我的 opensearch 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>my site short name</ShortName>
<Description>My search description</Description>
<InputEncoding>UTF-8</InputEncoding>
<Image width="16" height="16" type="image/x-icon">
https://somesite.com/images/icons/favicon-16x16.png
</Image>
<Url type="text/html" method="get"
template="https://somesite.com/search/{searchTerms}/page/1"></Url>
</OpenSearchDescription>
我在这里面临的问题是,如果关键字类似于 'this/that'
,提交到我网站的 URL 将变为
https://somesite.com/search/this/that/page/1
但 searchTerms 应该 url 编码为
https://somesite.com/search/this%2fthat/page/1
由于 URL 现在在搜索键中有额外的正斜杠,因此我的应用程序无法搜索 URL。
对于我的应用程序来说,接受搜索参数不是一个选项。这会违反其他页面的一致性,类似于关键字搜索。
有什么办法可以在 opensearch.xml
本身处理这个问题吗?
The "searchTerms" parameter
Replaced with the keyword or keywords
desired by the search client.
Restrictions: The value must be URL-encoded.
现在,我提出 this bug 反对 Chromium 项目来解决这个问题,因为 chrome 似乎没有对搜索参数进行编码。
我的 opensearch 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>my site short name</ShortName>
<Description>My search description</Description>
<InputEncoding>UTF-8</InputEncoding>
<Image width="16" height="16" type="image/x-icon">
https://somesite.com/images/icons/favicon-16x16.png
</Image>
<Url type="text/html" method="get"
template="https://somesite.com/search/{searchTerms}/page/1"></Url>
</OpenSearchDescription>
我在这里面临的问题是,如果关键字类似于 'this/that'
,提交到我网站的 URL 将变为
https://somesite.com/search/this/that/page/1
但 searchTerms 应该 url 编码为
https://somesite.com/search/this%2fthat/page/1
由于 URL 现在在搜索键中有额外的正斜杠,因此我的应用程序无法搜索 URL。
对于我的应用程序来说,接受搜索参数不是一个选项。这会违反其他页面的一致性,类似于关键字搜索。
有什么办法可以在 opensearch.xml
本身处理这个问题吗?
The "searchTerms" parameter
Replaced with the keyword or keywords desired by the search client.
Restrictions: The value must be URL-encoded.
现在,我提出 this bug 反对 Chromium 项目来解决这个问题,因为 chrome 似乎没有对搜索参数进行编码。