(Firefox)WebExtension如何知道自己的版本?

时间:2017-05-19 19:13:34

标签: firefox-webextensions

我正在将旧版Firefox扩展移植到WebExtensions。我想在运行时知道扩展本身的版本号。现在我正在做:

let extensionVersion = (function() {
  var xhr = new XMLHttpRequest();
  xhr.overrideMimeType('application/json');
  xhr.open('GET', browser.extension.getURL('manifest.json'), false);
  xhr.send(null);
  var manifest = JSON.parse(xhr.responseText);
  return manifest.version;
})();

这种肮脏的黑客依赖于同步XHR。还有更好的方法吗?

1 个答案:

答案 0 :(得分:4)

有一个用于检索清单的专用函数:

browser.runtime.getManifest().version

https://developer.mozilla.org/en-US/Add-ons/WebExtensions/API/runtime/getManifest