gpt4 book ai didi

browser - 搜索插件 XML 中是否可以有相对路径? (开放式搜索)

转载 作者:行者123 更新时间:2023-12-04 15:21:11 26 4
gpt4 key购买 nike

我有一个 Web 应用程序的 Open Search XML,如下所示:

<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/">
<ShortName>AppName</ShortName>
<Description>Search App</Description>
<InputEncoding>UTF-8</InputEncoding>
<Image width="32" height="32" type="image/png">https://not.my.app.url/public/favicon.png</Image>
<Url type="text/html" method="get" template="https://not.my.app.url/$/search?q={searchTerms}"/>
</OpenSearchDescription>
一个问题是,如果我想在与 https://not.my.app.url 不同的 URL 上托管应用程序我将不得不手动编辑 list 以匹配新的主机名,或者使用某种预处理器将正确的主机名放在那里。有什么办法可以代替相对路径吗?我尝试简单地省略主机名和协议(protocol)说明符,但随后 Firefox 拒绝将其安装为搜索提供程序(我没有测试任何其他浏览器)。

最佳答案

OpenSearch specification将 URL 模板语法定义为:

ttemplate      = tscheme ":" thier-part [ "?" tquery ] [ "#" fragment ]
tscheme = *( scheme / tparameter )
thier-part = "//" tauthority ( tpath-abempty / tpath-absolute / tpath-rootless / path-empty )
tauthority = [ tuserinfo "@" ] thost [ ":" tport ]
tuserinfo = *( userinfo / tparameter )
thost = *( host / tparameter )
tport = *( port / tparameter )
tpath-abempty = *( "/" tsegment )
tsegment = *( segment / tparameter )
tpath-absolute = "/" [ tsegment-nz *( "/" tsegment ) ]
tsegment-nz = *( segment-nz / tparameter )
tpath-rootless = tsegment-nz *( "/" tsegment )
tparameter = "{" tqname [ tmodifier ] "}"
tqname = [ tprefix ":" ] tlname
tprefix = *pchar
tlname = *pchar
tmodifier = "?"
tquery = *( query / tparameter )
tfragement = *( fragement / tparameter )
如您所见,该方案和主机是必需的。
换句话说,不允许使用相对 URL。
您必须使用绝对 URL,例如 http://example.com/search?q={searchTerms} .

关于browser - 搜索插件 XML 中是否可以有相对路径? (开放式搜索),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63305541/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com