【问题标题】:Get channel of Firefox获取火狐频道
【发布时间】:2018-04-17 23:51:13
【问题描述】:

任何人都有一个功能可以在确定 Firefox 频道(ESR/Stable/Beta/Dev/Nightly)的扩展程序中工作,而无需任何获取请求且无需估计?

我们当然可以根据我们对发布周期的了解进行估算,但这并不准确:

function getChannelFromVersion(version) {
    const nightlySeedDate = new Date(2018, 10, 27);
    const nightlySeedVersion = 66;

    const cycleWeeks = 9;
    const cycleTime = cycleWeeks * 7 * 24 * 60 * 60 * 1000; // ms

    const weeksBetweenSeed = (Date.now() - nightlySeedDate.getTime()) / 1000 / 60 / 60 / 24 / 7;
    let versionBetweenSeed = weeksBetweenSeed / cycleWeeks;
    versionBetweenSeed = versionBetweenSeed < 0 ? Math.floor(versionBetweenSeed) : Math.ceil(versionBetweenSeed);

    const currentNightlyVersion = nightlySeedVersion + versionBetweenSeed;

    // console.log('weeksBetweenSeed:', weeksBetweenSeed, 'versionBetweenSeed:', versionBetweenSeed, 'currentNightlyVersion:', currentNightlyVersion);

    const diffVersion = currentNightlyVersion - version;
    if (diffVersion < 0) return 'unreleased';
    else if (diffVersion === 0 ) return 'nightly';
    else if (diffVersion === 1 ) return 'dev';
    else if (diffVersion === 2 ) return 'beta';
    else if (diffVersion === 3 ) return 'stable';
    else return 'outdated';

}

// getChannelFromVersion(59) === "nightly"

【问题讨论】:

  • 为什么是这些标签? “Works in the web”并没有解释扩展与它有什么关系。
  • @Xan 谢谢 - 我将它更新为“在扩展中工作”。我需要知道 ESR/stable/beta 还是 dev/nightly,因为启动的说明/教程因频道而异。
  • 好的,现在更清楚了。

标签: javascript firefox firefox-addon version firefox-addon-webextensions


【解决方案1】:

没有直接执行此操作的 API,但有人提出了一个: https://bugzilla.mozilla.org/show_bug.cgi?id=1386076

【讨论】:

  • 当。没有别的办法,比如特征检测之类的?
猜你喜欢
  • 2010-09-30
  • 1970-01-01
  • 2010-11-04
  • 2020-09-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多