自动更新火狐扩展链接

Update Firefox extension links automatically

本文关键字:扩展 链接 火狐 更新      更新时间:2023-09-26

我正在我的网站上为我的 Firefox 扩展添加内联下载:

<script type="application/javascript">
<!--
function install (aEvent)
{
  for (var a = aEvent.target; a.href === undefined;) a = a.parentNode;
  var params = {
    "Foo": { URL: aEvent.target.href,
             IconURL: aEvent.target.getAttribute("iconURL"),
             Hash: aEvent.target.getAttribute("hash"),
             toString: function () { return this.URL; }
    }
  };
  InstallTrigger.install(params);
  return false;
}
-->
</script>

和 html:

<a id="download" href="https://addons.mozilla.org/firefox/downloads/file/foo-0.0.4-an+fx.xpi" iconURL="icon128.png" onclick="return install(event);">DOWNLOAD</a>

但是我希望每当我发布新更新时,链接都会更新而无需我更改它。例如-lastest.xpi链接?有没有这样的事情或其他方法来获取最新链接?

是的,您可以通过 AMO API 获取此信息

URL 结构如下所示:

https://addons.mozilla.org/api/[version]/addon/[id]
version = 1.5 (currently)
id = [your addon id or slug]

此示例 URL 使用一个 slug:https://addons.mozilla.org/en-US/firefox/api/1.5/addon/private-tab

此示例 URL 使用 id,我推荐这个版本。https://addons.mozilla.org/en-US/firefox/api/1.5/addon/422756

返回的信息是在加载项页面上显示的所有内容,但在 XML 文档中。 您需要扫描install元素。

    $.get('https://addons.mozilla.org/en-US/firefox/api/1.5/addon/private-tab').then(function(resp) {
      $('#link').attr('href', resp.documentElement.querySelector('install').textContent);
    });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a id="link" href="">DOWNLOAD</a>